暂无个人介绍
Java中自动装箱和自动拆箱的原理是:
1.自动装箱时编译器调用valueOf将原始类型值转换成对象;
2.自动拆箱时,编译器通过调用类似intValue(),doubleValue()这类的方法将对象转换成原始类型值。
Java中,拆箱的调用方法是:Integer的intValue方法
Java中,装箱的调用方法是:Integer的valueOf(int) 方法
以double和Double为例
public static void main(String args[]){
Double num = new Double(1-10); //装箱
double x = num.doubleValue(); //拆箱
System.out.println(x*2);
}
}
以int和Integer为例
public static void main(String args[]){
Integer num = new Integer(1-10); //装箱
int x = num.intValue(); //拆箱
System.out.println(x*2);
}
}
包装类型转换为基本数据类型:
intValue();
longValue();
...
基本数据类型转换为包装类型:
Integer.valueOf(int); ...
Java中的基本数据类型是:不需要在堆中分配内存,直接将变量的值存储在堆栈上
Java中的拆箱:将包装类中包装的基本数据类型取出
Java中的装箱:将基本数据类型变为包装类对象
Number类是一些表示数字类型的包装类的父类,而这些包装类指的是BigDecimal,BigInteger,Byte,Double,Float,Integer,Long和short,因此Number类是一个抽象类。
1.Character ch = new Character('x')
2.char c =ch
3.char c = 'c'
4.Character ch = new Character(c)
Java中,包装类型与基本类型的使用方式的不同之处是:
基本类型可以直接赋值,并可以直接使用,包装类型则在集合如Collection、Map时会使用到