为什么这样可以?究竟有什么比较?
int i = 10;
char c = 10;
if( c == i)
System.out.println("We are Equal");
在这种情况下也一样:
String s1 = "Null";
String s2 = new String(s1);
if( s1 == s2)
System.out.println("We are Equal");
我知道我们没有比较变量的内容。
答案 0 :(得分:1)
在第一个例子中,正在比较整数的两个文字值,即。 10 == 10.
在第二个示例中,您正在比较String对象,这意味着要比较实际对象的值,而不是其内容。为了比较这些字符串对象的内容,即。 "布拉赫" ==" Blah",你应该使用字符串方法String.compare(String strToCompare
答案 1 :(得分:0)
字符串是对象。您正在比较字符串的引用。字符/整数是原语,所以没有对象。