package characterPuzzles;
public class AnimalFarm {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final String pig = "length: 10";
final String dog = "length: " + pig.length();
System.out.println("Animals are equal: " + pig == dog);
// 上面的程序竟然只是打印出:false;错误在于 + 的优先级高于==;
/*:+ 操作符,不论是用作加法还是字符串连接操作,它都比 == 操作符的优先级高。因此,println方法的参数是按照下面的方式计算的:
System.out.println(("Animals are equal: " + pig) == dog);
这个布尔表达式的值当然是false,它正是该程序的所打印的输出。 */
System.out.println("Animals are equal: " + (pig == dog));
}
}