当前位置: 代码迷 >> Java相关 >> String.equals比较两个相同字符为false的有关问题
  详细解决方案

String.equals比较两个相同字符为false的有关问题

热度:9254   发布时间:2013-02-25 21:45:06.0
String.equals比较两个相同字符为false的问题
System.err.println("INSERT INTO CommArea VALUES (1, 'country', '中国', 0, '000000');".equals("?INSERT INTO CommArea VALUES (1, 'country', '中国', 0, '000000');"));

如上代码可以放在控制台试验一下是否为false,我也找不到原因,一个是从文本里面读出来的 一个是直接复制文本里面的内容,求高手找找原因。

------解决方案--------------------------------------------------------
后面的字符串,第一个字符(在INSERT之前)是不可显示字符。

你运行这段程序看看就知道了:
Java code
        String a = "INSERT INTO CommArea VALUES (1, 'country', '中国', 0, '000000');";        String b = "?INSERT INTO CommArea VALUES (1, 'country', '中国', 0, '000000');";        System.out.println("a: " + a.length() + "\t\tb: " + b.length());        for (int i = 0; i < a.length(); i++) {            if (a.charAt(i) != b.charAt(i)) {                System.out.println(i + "\t" + a.charAt(i) + "[" + (int) a.charAt(i) + "] != " + b.charAt(i) + "["                        + (int) b.charAt(i) + "]");            }        }
------解决方案--------------------------------------------------------
编码问题么?我这里提示了个Some characters cannot be mapped using GBK character encoding..

 试试重新手动输入。。 这个问题奇葩
  相关解决方案