Java拾贝不建议作为0基础学习,都是本人想到什么写什么
基本数据类型怎么变化引用数据类型(对象)
Java为每种基本类型都提供了对应的包装类型:
基本数据类型 | 包装类 |
---|---|
int | Integer |
char | Character |
short | Short |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
byte | Byte |
因为基本数据类型和包装类一一对应。所以Java提供了转换功能。
即自动装箱和自动拆箱。
自动装,拆箱
public static void main(String[] args) {
int i = 10;//声明一个基本数据类型
Integer integer = new Integer(i);//装箱,将基本数据类型变为包装类
int j = integer.intValue();//拆箱,将包装类变为基本数据类型
}
上述代码为手动装拆箱
下述代码为自动装拆箱
public static void main(String[] args) {
Integer i = 10;
int j = i;
}
只是编译阶段的自动装拆箱,其目的是简化代码,运行过程Java自动完整了代码
拆箱可能会NullPointerException
注意!!!
因为是引用类型,不能拿运算符==去进行比较
public static void main(String[] args) {
Integer i=5000;
Integer j=5000;
System.out.println(i==j);
}
//false
引用数据类型==比较的是地址值,需equals进行比较内容。
public static void main(String[] args) {
Integer i=5000;
Integer j=5000;
System.out.println(i.equals(j));
}
//true
缓存优化
Java会把小于等于127的Integer转为int。尽管如此引用类型还是要优先使用equals比较。
public static void main(String[] args) {
Integer i=127;
Integer j=127;
Integer i1=128;
Integer j1=128;
System.out.println(i==j);
System.out.println(i1==j1);
}
/*
true
false
*/
标签:拆箱,Java,拾贝,void,数据类型,第六天,Integer,main
From: https://www.cnblogs.com/Ocraft/p/17775667.html