Java--- 关于null的处理若干方法

相信空指针是平时最常见的错误了,下面认识 null ,有助于解决 NPE 问题。

nulll大小写敏感

关于这个问题,其实是对面试时候手写算法题时候需要注意的问题。

null 它是 Java的关键字,它是大小写敏感的,不能写成 NULL,Null等等。

当然在现实工作中,现有市面上的流行编译器一般会有报错提示。

null 是任何引用类型的初始值

这里需要注意是引用类型,基本数据类型的,int 默认初始值是 0;boolean 默认初始值是 false 等。

也就是说 Object 类型的默认初始值都是 null 。

null 是一种有特殊的值

null 既不是对象也不是数据类型,他只是一种特殊的值。

可以将它复制给任何引用类型的变量,这时并不会抛出空指针异常。

但是注意,并不能赋值给基本数据类型的变量,因为持有 null 的包装类在进行自动拆箱的时候,不能完成转换,会抛出空指针异常。null 同时也不能和基本数据类型作比较。

 public static void main(String[] args) {
Integer isNull = null;
// instanceof = isInstance 方法
if(isNull instanceof Integer){
System.out.println("isNull is instanceof Integer");
}else{
System.out.println("isNull is not instanceof Integer");
}
}

这是 instanceof 操作符一个很重要的特性,使得对类型强制转换检查很有用。

静态变量为 null 调用静态方法不会抛出 NullPointerException。因为静态方法使用了静态绑定。

使用 Null-Safe 方法

所谓使用 Null-Safe 方法,其实就是多使用工具类提供的的静态方法。以此来避免 NullPointerException。

private static  String numbers;

    public static void main(String[] args) {
String string = String.valueOf(numbers); //编译通过
String s = numbers.toString(); //java.lang.NullPointerException
}

null 的判断

你可以使用 == 或者!=操作来比较 null 值,但是不能使用其他算法或者逻辑操作,例如小于或者大于。跟SQL不一样,在Java中null == null 将返回true。

最新文章

  1. vue在多级联动时,一些情况不用watch而用onchange会更好
  2. [转]VS2010中水晶报表安装应用及实例
  3. node.js JS对象和JSON字符串之间的转换
  4. 关于WIndows内核自映射方案的通俗解释
  5. MCS51系列单片机实用技术部分课件
  6. jquery mobile 请求数据方法执行时显示加载中提示框
  7. 【转】C++ 内存分配(new,operator new)详解
  8. ZENCART 打开/关闭日志文件
  9. Java开发者易犯错误Top10
  10. HttpURLConnection从网上获取Json数据并解析详解
  11. Docker最全教程——数据库容器化(十)
  12. ImCash:币圈英文术语大全
  13. https协议为什么比http协议更加安全
  14. PostgreSQL之Sequence序列(转)
  15. str_replace 批量查找替换字符串
  16. PO页面对象模式封装
  17. java(4) 异常
  18. [LeetCode] 199. Binary Tree Right Side View_ Medium tag: BFS, Amazon
  19. configparser、subprocess模块
  20. sublime3 多行编辑.摘抄

热门文章

  1. Python exec 内置语句
  2. PHP str_shuffle() 函数
  3. 2020牛客暑假多校训练营 第二场 H Happy Triangle set 线段树 分类讨论
  4. 二维线段树->树套树
  5. idea安装testng插件后,无法使用调用testng里面的类
  6. day8.列表、字典、集合相关操作
  7. Ef Core增加Sql方法
  8. 用 Python 写个坦克大战
  9. C语言学习笔记之switch有无break差别
  10. 恕我直言,你可能真没用过这些 IDEA 插件!