Java中的null

作者: LeaveStyle | 来源:发表于2020-06-30 14:38 被阅读0次

Java中的null

null设计的初衷是为了表示一些缺失的东西。

  1. null是关键字,大小写敏感。
  2. null是任何引用类型的默认值。
  3. null既不是对象也不是一种类型,而是一种特殊的值,可以将其赋予任何引用类型(不能将null值赋给基础变量)。
  4. 任何含有null值的包装类在Java拆箱生成基本数据类型时候都会抛出一个空指针异常。
  5. 如果使用了带有null值的引用类型变量,instanceof操作将会返回false。
  6. 可以使用静态方法来使用一个值为null的引用类型变量。因为静态方法使用静态绑定,不会抛出空指针异常。
public class Testing {             
    public static void main(String args[]){
        Testing myObject = null;
        myObject.iAmStaticMethod();
        myObject.iAmNonStaticMethod();                             
    }
    private static void iAmStaticMethod(){
        System.out.println("I am static method, can be called by null reference");
    }
    private void iAmNonStaticMethod(){
        System.out.println("I am NON static method, don't date to call me by null");
    }
}
   
输出:
I am static method, can be called by null reference
Exception in thread "main" java.lang.NullPointerException at Testing.main(Testing.java:11)

避免空指针技巧

  1. equals()的正确使用。
  2. valueOf()或者(String)替换toString()。
  3. 使用Apache commons库来处理对象(第三方库已对空指针做校验)。
  4. 返回空的Collection或者Array来替换null。
  5. 使用注解:@NotNull@Nullable
  6. 定义合理的默认值,遵守约定。
  7. 从数据库取数据,可约束哪些字段不能为空。

相关文章

  • NULL-SpringMVC-Java

    Java Null Exception 最大的原因 ------> null 使用失误 1. Java中的Null...

  • Java null 总结

    问:简单谈谈你对 Java 中 null 的理解与认识? 答: null 是 java 的关键字。 null 是 ...

  • 在 Java 8 中避免 Null 检查

    在 Java 8 中避免 Null 检查 原文:Avoid Null Checks in Java 8 译者:os...

  • Java null 强制类型转换

    Java中的null值是可以强制转换为任何Java类型的,就像(Object)null是合法的,但null强转后的...

  • java中null是对象么

    java中null是对象么 一、null是代表不确定的对象 Java中,null是一个关键字,用来标识一个不确定的...

  • Java中的null

    Java中的null null设计的初衷是为了表示一些缺失的东西。 null是关键字,大小写敏感。 null是任何...

  • Java中空值或者null的判断

    Java中空值或者null的判断 Java中总是有空值或者null的情况,但是Java和js是不一样的,js中可以...

  • java 中 null == a 和 a == null 的区别

    在一些书籍和博客里会看到一种说法,判空时建议 null 放前面。照葫芦直接在项目中用,结果被组长问:为什么要这么写...

  • 8-Java-Optional学习

    1. Java中的null 在Java中,null - 空指针,即标识一个不确定的对象,该对象没有被初始化,也没有...

  • Java中null+""和null+null

    Java中null+""输出的字符串仍是null,但是字符串形式的null,而且length是4个; “”+nul...

网友评论

    本文标题:Java中的null

    本文链接:https://www.haomeiwen.com/subject/ablxqktx.html