Java是纯面向对象语言,int、double都是基本数据类型。
int Integer
char Character
double Double
long Long
short Short
boolean Boolean
byte Byte
除了基本数据类似之外的都是引用数据类型,用一个类来描述。
所有引用数据类型的默认值是null。
public void test1(){
Integer integer = new Integer(0);
//Integer没有无参的构造函数,所以创建对象时必须传值为它初始化
//Integer可以当作int来使用是因为它设定了默认的装箱和拆箱来进行数据的转换
Integer a = 100; //装箱
int b = a; //拆箱
integer = Integer.valueOf(b);//装箱 等同于integer = b;
int c = Integer.valueOf(integer);//拆箱 c = integer;
System.out.println(integer);
integer = Integer.valueOf("123");
//上述语句报错java.lang.NumberFormatException,即数据格式异常,integer提供了参数为String的方法但不能直接调用
System.out.println(integer);
//Integer的装箱与拆箱只在Integer与int做运算是才能运行。Integer类型数据之间比较数据依然要用.equals()方法
}
public void test2(){
int a = 1;
Integer b = 1;
Integer c = new Integer(1);
System.out.println(a == b);//true,此处运行了装箱操作
System.out.println(b == c);//false,两个包装数据类型只能用equals方法比较大小
System.out.println(b.equals(c));//true
}
虽然基本数据类型和包装数据类型互相转换有装箱和拆箱的过程,但是我们平时使用的时候
就
把包装数据类型当成基本数据类型来使用就可以
。
包装数据类型最主要使用:
包装数据类型和字符串之间的转换
1、把基本数据类型转换成字符串
(1) 基本数据类型+"" : String str = 12 + ""; // "12"
(2) 基本数据类型的包装类.toString()
String str1 = Integer.toString(3);
String str2 = Double.toString(3.14);
2、把字符串转换成基本数据类型(从网页的输入框中得到的都是字符串)
(1) Integer.parseInt(String str); // "23" "3.14"
Double.parseDouble(String str);
Boolean.parseBoolean(String str);
XXXX.parseXXXX(String str);
(2) new对象: Integer integer = new Integer(String str);
Integer interger = new Integer("4");
int i = integer.intValue();