概述
- Integer介绍
Integer是int的包装类,继承Number类另实现Comparable接口,其取值范围为:-2147483648~2147483647
- 赋值操作
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));
private final int value;
public boolean equals(Object obj) {
if (obj instanceof Integer) {
//将对象强制转换为Integer类型,然后自动拆箱进行==比较
return value == ((Integer)obj).intValue();
}
return false;
}
- 构造函数
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 Integer赋值比较所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复