一、Java支持的数据类型有那些?
二、什么是自动拆箱和装箱?
1.包装类型:
java是一个面向对象的语言,但是java的基本类型确是不面向对象的,为解决这个问题在设计类时,每个基本类型都设计了一个对应的类进行表示,这样和八个基本类型相对应的类称为包装类(wrapp calss)。包装类位于java.lang包,包装类和基本类型的对应关系如下:
基本数据类型 | 包装类 |
---|---|
bety | Bety |
short | Shoty |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
2.装箱和拆箱
(1)自动装箱:
就是将基本数据类型自动转换为对应的包装类;
(2)自动拆箱:
就是将包装类自动转换为基本数据类型。
(3)注意:
自动拆箱也会带来一些问题,当包装对象的数值进行比较时,不能简单的使用==来进行判断,当该对象的数值在-128—127之间时可以进行比较,超出范围时应该使用equals进行比较,如下:
package offer;
public class TestDemo {
public static void main(String[] args){
Integer a=2;
Integer b=2;
System.out.println(a+"--"+b);
System.out.println(a==b);
System.out.println(a.equals(b));
Integer c=200;
Integer d=200;
System.out.println(c+"--"+d);
System.out.println(c==d);
System.out.println(c.equals(d));
}
}
运行结果: