我是靠谱客的博主 狂野康乃馨,这篇文章主要介绍JAVA Integer赋值比较,现在分享给大家,希望可以做个参考。

  • Integer介绍

Integer是int的包装类,继承Number类另实现Comparable接口,其取值范围为:-2147483648~2147483647

  • 赋值操作
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Integer newInt = new Integer(10); //自动装箱操作,编译后class文件中为:Integer num = Integer.valueOf(10); Integer num = 10; //num.intValue()为解包操作 int intNum = num.intValue(); /** * 输出结果为true----false----true,原因: * 1、 Integer为引用类型,引用类型栈中变量表示一个地址指向堆中的一片内存空间 * 2、 newInt.equals(num)为true是因为Integer重写了equals方法,equals方法中实际是值比较 * 3、(newInt == num)为false因为两个变量不指向同一片内存 * 4、(intNum==num)结果为true是因为intNum是基本数据类型,值直接存在栈中,两者比较的是值 */ System.out.println(newInt.equals(num)+"----"+(newInt == num)+"----"+(intNum==num));
复制代码
1
2
3
4
5
6
7
8
9
10
private final int value; public boolean equals(Object obj) { if (obj instanceof Integer) { //将对象强制转换为Integer类型,然后自动拆箱进行==比较 return value == ((Integer)obj).intValue(); } return false; }
  • 构造函数
复制代码
1
2
3
4
5
6
7
8
9
public Integer(int value) { //参数为int 直接赋值 this.value = value; } public Integer(String s) throws NumberFormatException { //参数为String的情况下调用paseInt()方法进行赋值,10表示为按10进制转换 this.value = parseInt(s, 10); }

最后

以上就是狂野康乃馨最近收集整理的关于JAVA Integer赋值比较的全部内容,更多相关JAVA内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部