Java 包装类的比较
来源:互联网 发布:php商城项目仓库管理 编辑:程序博客网 时间:2024/06/05 08:00
当我们在利用'=='比较基本类型时,比较的是值
但是==运算符用于比较包装器对象时,是检测对象是否值向同一个存储区域。因此以下的比较通常不成立:
Integer a = 1000; Integer b = 1000; if(a == b)...
但是Java实现却有可能让它成立:(将1000改为100)
Integer a = 100; Integer b = 100; if(a == b)...
这是为什么呢?
原来在此处涉及自动打包操作,将int类型自动打包成Integer类型。而自动打包规范要求boolean,byte,char<=127,介于-128~127之间的short和int被包装到固定的对象中,即同一内存区域 。
为避免此类问题,建议使用equals方法比较对象是否相等,而不是用==运算符比较对象是否相同
- Java 包装类的比较
- Java包装类 对象的比较器
- Java 包装类Integer的值比较
- Java包装类Integer比较
- Java包装类对象比较中存在的问题
- Java包装类与基本类型进行比较的坑
- java的包装类
- java的包装类
- JAVA的包装类
- Java.的包装类
- JAVA的包装类
- JAVA的包装类
- JAVA的包装类
- Java的包装类
- Java的包装类
- Java的包装类
- JAVA的包装类
- JAVA的包装类
- 6.8 Date 与Calendar DateFormat类
- VC中format用法
- from_unixtime()与UNIX_TIMESTAMP
- 窗体form在最前面(顶层),topmost
- 6.9 Math与Random类
- Java 包装类的比较
- js 点击一个链接后变色,但在点击页面其它链接不变色(方法二)
- window.location.href = window.location.href刷新页面的问题
- javascript验证浮点数该如何做?
- json格式的 jquery ajax 实例
- oracle job 情况的查看处理
- 怎么在SQL2000里面添加从别的地方备份过来的数据啊,附加数据库的时候它提示不是正确的MDF文件
- cygwin编译的win32程序不需要cygwin1.dll库的方法(1)
- mysql中的浮点类型