Java---关于null的处理若⼲⽅法
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) {
nullpointerexception为什么异常String string = String.valueOf(numbers); //编译通过
String s = String(); //java.lang.NullPointerException
}
null 的判断
你可以使⽤ == 或者!=操作来⽐较 null 值,但是不能使⽤其他算法或者逻辑操作,例如⼩于或者⼤于。跟SQL不⼀样,在Java中null == null 将返回true。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论