public class test {
public static void main(String[] args) {
//Integer和Long 同样。
// 小于等于127。两个Integer用 == 来 比较,结果相同。
// 大于 127,两个Integer用 == 来 比较 ,结果 不相同。
//结论:两个Integer或者 Long, 用equals或者 用.intValue()转成int类型 再用==。 不能 直接 用==来比较
long aa=128;
Long bb=128L;
Long cc=128L;
if (aa==bb){
//true
System.out.println("1");
}else{
System.out.println("2");
}
if (bb==cc){
System.out.println("3");
}else{
//true
System.out.println("4");
}
if (bb.equals(cc)){
//true
System.out.println("5");
}else{
System.out.println("6");
}
if (bb.longValue()==cc){
//true
System.out.println("7");
}else{
System.out.println("8");
}
}
}
----------------------------------------------------------------
//Integer和Long 同样。
// 小于等于127。两个Integer用 == 来 比较,结果相同。
// 大于 127,两个Integer用 == 来 比较 ,结果 不相同。
//结论:两个Integer或者 Long, 用equals或者 用.intValue()转成int类型 再用==。 不能 直接 用==来比较
--------------------------------------------------------------------------------------------------------
Long userId=127L;
Long authorId=127L;
System.out.println(userId==authorId);//true
userId=128L;
authorId=128L;
System.out.println(userId==authorId);//false
Long x=new Long(127);
Long y=new Long(127);
System.out.println(x==y);//false
System.out.println(x.equals(y));//true
Long是引用类型,要比较两个Long的大小,一定要用equals而不能用==
但是,当Long为常量且常量值小于一个字节时,两个Long指向同一个常量内容;
当Long为常量且常量值大于一个字节是,两个Long指向不同的常量内容。