Java - 我不能用String中的另一个char替换char'Á'

AHA*_*A27 0 java arrays string replace char

为什么这个"Á"字母不会改变?此代码适用于其他字母但Á.

public class Convert {
    static String turkishCharacterConverter(String s) {
        StringBuilder x = new StringBuilder();
        char[] charArr = s.toLowerCase().toCharArray();
        for (int i = 0; i < charArr.length; i++) {
            if (charArr[i] == '?') {
                x.append('I');
            } else if (charArr[i] == '?') {
                x.append("S");
            } else if (charArr[i] == '?') {
                x.append("G");
            } else if (charArr[i] == 'ˆ') {
                x.append("O");
            } else if (charArr[i] == '¸') {
                x.append("U");
            } else if (charArr[i] == 'Á') {
                x.append("C");
            } else {
                x.append(s.charAt(i));
            }
        }
        return x.toString();
    }
    public static void main(String[] args) {
        System.out.println(turkishCharacterConverter("?????nda"));
        System.out.println(turkishCharacterConverter("ˆlÁt¸?¸m"));
    }
}
Run Code Online (Sandbox Code Playgroud)

和java打印

ISIGInda

OlÁtUGUm(我想让java打印"OlCtUGUm")

ass*_*ias 8

因为 char[] charArr = s.toLowerCase().toCharArray();

你正在Á与它的小写进行比较á.其他字符已经是小写,所以它适用于他们.