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