一、大小写敏感
null是Java的关键字,是区分大小写的,如果我们写成Null,会编译错误。
package day04;
/**
* @author qx
* @date 2023/06/26
* @desc 测试
*/
public class Demo {
public static void main(String[] args) {
Object a = null;
Object b = Null;
}
}
执行程序:
E:\javaProject\MyJava\src\day04\Demo.java:11:20
java: 找不到符号
符号: 变量 Null
位置: 类 day04.Demo
二、null是所有引用类型的初始值
null是所有引用类型的默认值。
package day04;
/**
* @author qx
* @date 2023/06/26
* @desc 测试
*/
public class Demo {
static String a;
static Integer b;
public static void main(String[] args) {
// 输出null
System.out.println(a);
// 输出null
System.out.println(b);
}
}
三、null是一种特殊的值
null既不是对象也不是类型,它只是一种特殊的值,你可以将null转换成任何引用类型。
package day04;
/**
* @author qx
* @date 2023/06/26
* @desc 测试
*/
public class Demo {
public static void main(String[] args) {
String str = null;
Integer integer = (Integer) null;
// 输出null
System.out.println(integer);
}
}
四、Null-Safe方法
我们平时开发尽可能的多使用工具类自带的静态方法
package day04;
/**
* @author qx
* @date 2023/06/26
* @desc 测试
*/
public class Demo {
public static void main(String[] args) {
String number = null;
String integer = String.valueOf(number);
// 输出字符串null
System.out.println(integer);
// 报错
System.out.println(number.toString());
}
}
五、null判断
我们可以使用==或!=来比较null值。
package day04;
/**
* @author qx
* @date 2023/06/26
* @desc 测试
*/
public class Demo {
public static void main(String[] args) {
String num1 = null;
String num2 = null;
// 输出 true
System.out.println(num1 == num2);
// 输出 false
System.out.println(num1 != num2);
}
}