Java中有常量优化机制:
针对于String类型来讲:
如果是常量相加,会直接运算,然后比较结果(比较的是在常量池中的值),
如果是变量相加,会开辟新空间,然后再比较(比较的是地址值)
针对于byte类型来讲:
如果是在byte范围内的变量比较,比较的是值。
如果超出byte范围了,比较的就是地址值。
示例:
Integer aa = 128;
Integer bb = 128;
System.out.println(aa==bb); //false 比较的是 地址值
Integer aa = 127;
Integer bb = 127;
System.out.println(aa==bb); //true 比较的是 值 |
|