Mac快捷键【窗口最小化、切换窗口】 |
您所在的位置:网站首页 › mac的esc键不能用 › Mac快捷键【窗口最小化、切换窗口】 |
==比较地址,equals比较值?错了!!【一文搞懂== 与equals 的底层区别】
微笑的小丑背后: ==和equals比较封装类型时相当于比较的对象,也就应该比较地址,但是对于数值的大小是否在缓存中,结果不同。为什么对于不在缓存中的数值,用==和equals比较结果不同,不是都比较的地址吗,应该结果相同啊 ==比较地址,equals比较值?错了!!【一文搞懂== 与equals 的底层区别】微笑的小丑背后: [code=java] Integer a = 2; Integer b = 2; System.out.println(a == b); //输出为true,本地缓存-127~128 System.out.println(a.equals(b)); //true Integer a1 = 999; Integer b1 = 999; System.out.println(a1 == b1); //输出为false,无缓存,则创建新对象 System.out.println(a1.equals(b1)); //true Double a2 = 1.2; Double b2 = 1.2; System.out.println(a2 == b2); //输出为false,Float和Double无缓存,则创建新对象 System.out.println(a2.equals(b2)); //true [/code] burpsuite十大模块详细功能介绍【2023版】行者点工: 内容讲的很详细,感谢分享。 ==比较地址,equals比较值?错了!!【一文搞懂== 与equals 的底层区别】阿尔卑斯下的泰戈尔: 是的,自定义的类默认是按照object类处理,比较的是地址 ==比较地址,equals比较值?错了!!【一文搞懂== 与equals 的底层区别】阿尔卑斯下的泰戈尔: x和y是常量,地址相同,z是直接在堆中新创建的,地址不同 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |