1.包装类型和String类型的相互转化
以Integer 和String转化为例
public class WrapperType {
public static void main(String[] args) {
//包装类Integer -> String 转化
Integer n = 100;
//方式一
String n1 = n+"";//相当于重新创建一个对象 原来n的值不改变
//方式二
String n2 = Integer.toString(n);
//方式三
String n3 = String.valueOf(n);
//将String类 转化成 包装类Integer
//方式1
Integer n4 = Integer.parseInt(n2);
//方式2 直接通过构造器创建一个对象进行转化
Integer n5 = new Integer(n3);
/*
public Integer(String s) throws NumberFormatException {
this.value = parseInt(s, 10);
}
*/
}
}
一些常用方法
如果我们自动装箱一 j 和 k 两个Integer 对象
Integer j = 1;
Integer k = 1;
System.out.println(j == k) 输出什么结果?
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
看源码可得知它给定了一个最大和最小值,在此值范围内都是直接返回数值,不会再创建对象
所以 结果为true( -128 _1 27)
同理可证
128 和 128 返回flase
因为超出范围,底层源码会直接创建新对象
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务