任何机构都可以向我解释输出中发生了什么。如果 == 用于比较两个 ref。如果创建静态方法 valueOf() 和 ee==ff 不相等(没关系),如果创建它使用新关键字的对象?
static void main(String args[])
{
Integer aa = Integer.valueOf("12");
Integer bb = Integer.valueOf("12");
if(aa==bb)System.out.println("aa==bb");
if(aa!=bb)System.out.println("aa!=bb");
Integer ee = new Integer("12");
Integer ff = new Integer("12");
if(ee==ff)System.out.println("ee==ff");
if(ee!=ff)System.out.println("ee!=ff");
}
输出 :
aa==bb
ee!=ff