Java中的整数类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java中的整数类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1285字,纯文字阅读大概需要2分钟。
内容图文
![Java中的整数类](/upload/InfoBanner/zyjiaocheng/680/37f83e2350294ba8a7f90d5f87c34f6f.jpg)
这个问题已经在这里有了答案: > Integer wrapper objects share the same instances only within the value 127? 5个
我不知道为什么输出不同.
输出仅在-128至127范围内相同.
public class Check {
public static void main(String[ ] args) {
Integer i1=122;
Integer i2=122;
if(i1==i2)
System.out.println("Both are same");
if(i1.equals(i2))
System.out.println("Both are meaningful same");
}
}
输出:
都一样
两者都是有意义的
public class Check {
public static void main(String[] args) {
Integer i1=1000;
Integer i2=1000;
if(i1==i2)
System.out.println("Both are same");
if(i1.equals(i2))
System.out.println("Both are meaningful same");
}
}
输出:
两者都是有意义的
解决方法:
您已经在Java语言中遇到了一个警告,其中“小”值的自动装箱规则与自动装箱规则稍有不同. (在这种情况下,“小”表示范围在127到-128之间的数字,如C中的带符号字节.)从JLS 5.1.7 Boxing Conversion:
If the value p being boxed is true, false, a byte, a char in the range \u0000 to \u007f, or an int or short number between -128 and 127, then let r1 and r2 be the results of any two boxing conversions of p. It is always the case that r1 == r2.
(强调是我的.)
在第二个示例(其中i1 = i2 = 1000)中,if(i1 == i2)比较结果为false,因为两个对象的值都大于127.在这种情况下,==是引用比较,即检查如果对象实际上是同一对象.
内容总结
以上是互联网集市为您收集整理的Java中的整数类全部内容,希望文章能够帮你解决Java中的整数类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。