当变量作为作为类成员使用时,java才确保给定其初始值,防止程序运行时错误
基本数据类型的包装类都属于引用类型 所以包装类的初始化值都为null
package nowcoder;
public class baozhuangClass {
Integer a;
Byte b;
Short c;
Long d;
Float e;
Double f;
Boolean g;
Character h;
int i; byte j; short k;
long l; float m; double n;
boolean o; char p;
@Override
public String toString() {
return "baozhuangClass{" +
"a=" + a +
", b=" + b +
", c=" + c +
", d=" + d +
", e=" + e +
", f=" + f +
", g=" + g +
", h=" + h +
", i=" + i +
", j=" + j +
", k=" + k +
", l=" + l +
", m=" + m +
", n=" + n +
", o=" + o +
", p=" + p +
'}';
}
public static void main(String[] args) {
baozhuangClass bao=new baozhuangClass();
System.out.println(bao);
}
}
baozhuangClass{a=null, b=null, c=null, d=null, e=null, f=null, g=null, h=null, i=0, j=0, k=0, l=0, m=0.0, n=0.0, o=false, p= }
如果一边是包装类,一边是基本类型时;或者使用了<、>、<=等比较符,都会进行值比较;如果发现==两边都是对象,它就直接比较引用,而不是值
null本身虽然能代表一个不确定的对象,但就null本身来说,它不是对象,也不知道什么类型,也不是java.lang.Object的实例