本帖最后由 高贵杰 于 2013-3-11 20:57 编辑
public class AnimalFarm {
public static void main(String[] args) {
final String pig = "length:10";
final String dog = "length:"+pig.length();
System.out.println("Animals are equals:"+ pig==dog);
System.out.println("Animals are equals:"+ pig.equals(dog));
}
}
输出结果:
false
Animals are equals:false
这个程序是我在一本书上看到的,虽然很简单,但是我的疑惑却很多,
System.out.println("Animals are equals:"+ pig==dog);该语句输出false。
第一:pig与dog比较的是length()值,用“==”比较应该输出ture,但是却输出了false。
第二:只输出了false,并没有输出"Animals are equals:"这个字符串,为什么会这样?
第三:在下面一句System.out.println("Animals are equals:"+ pig.equals(dog));中,equals的比较也输出了false。为什么?
这个小程序很让我纠结,希望,大家能帮我解惑。
|