Int和Char比较“==”

时间:2014-11-27 16:29:50

标签: java char int comparison

为什么这样可以?究竟有什么比较?

    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");

我知道我们没有比较变量的内容。

2 个答案:

答案 0 :(得分:1)

在第一个例子中,正在比较整数的两个文字值,即。 10 == 10.

在第二个示例中,您正在比较String对象,这意味着要比较实际对象的值,而不是其内容。为了比较这些字符串对象的内容,即。 "布拉赫" ==" Blah",你应该使用字符串方法String.compare(String strToCompare

答案 1 :(得分:0)

字符串是对象。您正在比较字符串的引用。字符/整数是原语,所以没有对象。