System.out.println(3L == 3f);结果为什么为true 如题另外:System.out.println(new Long(3).equals(3l));为什么为true?System.out.println(new Long(3).equals(3));为什么为false? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 System.out.println(3L == 3f) 基本数值对比,都是 3 所以 trueSystem.out.println(new Long(3).equals(3l)); 3l 被包装成 Long 再比值 所以 trueSystem.out.println(new Long(3).equals(3)); 3 被包装成 Integer,equals 方法中先对类型比较,类型不同,所以 false 多谢大哥回复。比较对象时,==表示对象引用是否相同,equals表示对象的值是否相等。如果比较数据类型,==和equals有何区别呢? 1、如果是基本类型比较,那么只能用==来比较,不能用equals(比较数值)2、对于基本类型的包装类型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量,==是比较地址的(即是否是同一个引用),而equals是比较内容的3、对于String类型,“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。System.out.println(3L == 3f) JAVA会进行类型提升,都提升到L.进行数值比较,结果为true.System.out.println(new Long(3).equals(3l)); 基本类型long被包装成Long.进行内容的比较(包括类型比较)。返回true.System.out.println(new Long(3).equals(3)); 3被包装成Long.进行内容比较(包括类型比较),返回false; Object 类的 equals 方法实现对象上差别可能性最大的相等关系;即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。 好好看看“==”和equals的适用范围这个你就懂了。 JAVA方面和网络安全相关的题目最基础的是什么? 我们的一个 javacc 程序 遇到了问题 希望各位大侠 指点批评一下 java中怎么使用oracle的序列,过程和函数 四舍五入怎么做? 我们技术主任说Java有现成的框架,所以不需要你去设计.什么意思? 关于使用jxl这个组件访问excel文件的问题 怎样产生不同的随机数? 这个注册应该怎么做?? 新手问题关于引入别的类文件提示错误 450,我全部的分急求java应用程序操作mysql数据库的例子 用java求超大数最大公约数问题 给大四计算机考研失败的毕业生指条明路吧!
System.out.println(new Long(3).equals(3l)); 3l 被包装成 Long 再比值 所以 true
System.out.println(new Long(3).equals(3)); 3 被包装成 Integer,equals 方法中先对类型比较,类型不同,所以 false
多谢大哥回复。
比较对象时,==表示对象引用是否相同,equals表示对象的值是否相等。
如果比较数据类型,==和equals有何区别呢?
2、对于基本类型的包装类型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量,==是比较地址的(即是否是同一个引用),而equals是比较内容的
3、对于String类型,“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。
System.out.println(3L == 3f) JAVA会进行类型提升,都提升到L.进行数值比较,结果为true.
System.out.println(new Long(3).equals(3l)); 基本类型long被包装成Long.进行内容的比较(包括类型比较)。返回true.
System.out.println(new Long(3).equals(3)); 3被包装成Long.进行内容比较(包括类型比较),返回false;