String string1 = "Hi there";
String string2 = "Hi";
String string3 = "Hi";
System.out.println(string1.substring(0, string2.length()) == string2); //1
System.out.println(string1.substring(0, string2.length()).equals(string2)); //2
System.out.println(string1.substring(0, string2.length()).compareTo(string2)); //3
System.out.println(string2 == string3); //4
System.out.println(string2.substring(0) == string3); //5
System.out.println(string2.substring(0) == string3.substring(0)); //6
比较字符串给我的输出:在Java
false
true
0
true
true
true
我真的不明白的第一行,为什么它给我假?
如果我添加一个空格串2并此行中我得到错误的,但如果我添加没有空格,我得到真正:
System.out.println(string2.substring(0, string3.length()) == string3);
为什么要排队1给我假,但6号线是真实的,但如果我添加一个空格,以STRING2这是假的..
感谢=)
这是怎么回事? http://stackoverflow.com/search?q=Comparing+strings+in+java在输入问题信息时,您没有看到列表中包含主题下的所有链接的列表吗?你是否打算按照建议的链接?为什么不? – BalusC 2009-12-02 15:19:25