java中null的类型

本文通过多个实验验证了Java中null的类型属性,并探讨了null作为特殊值的行为特性及其在不同类型转换中的表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

结论:

     null 的类型是<nulltype>

结论适用场景:

     java

 

证明过程:

//: Code segment 1

============================================================

    String str;

    int i = str;

------- 编译/运行结果 -------

TestNull.java:39: 不兼容的类型
找到: java.lang.String               <------------ 类型
需要: int
 int it = s;
          ^
1 错误

 

    Obejct obj;

    int i = obj;

------- 编译/运行结果 -------

TestNull.java:39: 不兼容的类型
找到: java.lang.Object          <------------ 类型
需要: int
 int it = obj;
          ^
1 错误

 

    int i = null;

------- 编译/运行结果 -------

TestNull.java:39: 不兼容的类型
找到: <nulltype>                  <------------- 类型
需要: int
 int it = null;
          ^
1 错误

///:~End of Code segment 1

 

 

 

//:Code segment 2 ()

============================================================

class A {
}

public class TestNull {
   
    public void prt(int i){
       System.out.println("int");
    }
   
    public void prt(float f){
       System.out.println("float");
    }
      
    public void prt(Object o){
       System.out.println("obj");
   }
    public void prt(String s){
       System.out.println("String");
    }
  
    public void prt(Integer inte){
       System.out.println("integer");
    }
  
    public void prt(A a){
       System.out.println("AAAA");
    }

    public static void main(String[] args){
        TestNull tn = new TestNull();
        A a = null;

        Integer inte = null;

        String s = null;
        Object obj = null;
        tn.prt(s);

        tn.prt(obj);
        tn.prt(inte);
        tn.prt(a);
    }
}

------- 编译/运行结果 -------

obj
obj
obj
obj
obj

-------      结论        -------

null 作为值赋给对象时,会被自动转化为Object类型

///:~End of Code segment 2

//:Code segment 3

============================================================

  boolean judge = null instanceof Object;
  if(judge){
   System.out.println("Yes, null is an Object.");
  }else{
   System.out.println("No, null isn't an Object.");
  }

------- 编译/运行结果 -------

No, null isn't an Object.

-------      结论        -------

 

null本身并不是Object类型,从而佐证了Code segment 2的结论,会出现那样的运行结果是被转化的原因。

 

///:~End of Code segment 3

综上所述,java中的null 的类型是<nulltype>.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值