1 public class Test { 2 3 public static void nullPoint1() { 4 String test = null; 5 try { 6 if (test.equals(null)) { 7 System.out.println("test is null !"); 8 } 9 } catch (NullPointerException e) { 10 System.out.println("test.equals(null): " + e); 11 } 12 } 13 14 public static void nullPoint2() { 15 String test = null; 16 try { 17 if (test.length() == 0) { 18 System.out.println("test is null !"); 19 } 20 } catch (NullPointerException e) { 21 System.out.println("test.length() == 0: " + e); 22 } 23 } 24 25 public static void nullPoint3() { 26 String test = null; 27 try { 28 if (test.isEmpty()) { 29 System.out.println("test is null !"); 30 } 31 } catch (NullPointerException e) { 32 System.out.println("test.isEmpty(): " + e); 33 } 34 } 35 36 public static void nullPoint4() { 37 String test = null; 38 try { 39 if (test.equals("")) { 40 System.out.println("test is null !"); 41 } 42 } catch (NullPointerException e) { 43 System.out.println("test.equals(""): " + e); 44 } 45 } 46 47 public static void error() { 48 String test = null; 49 if ("".equals(test)) { 50 System.out.println("test = null, "".equals(test): true"); 51 } else { 52 System.out.println("test = null, "".equals(test): false"); 53 } 54 } 55 56 public static void error2() { 57 String test = null; 58 if (test == "") { 59 System.out.println("test = null, test == "": true"); 60 } else { 61 System.out.println("test = null, test == "": false"); 62 } 63 } 64 65 public static void right() { 66 String test = null; 67 if (test == null) { 68 System.out.println("test = null, test == null: true"); 69 } 70 } 71 72 public static void right2() { 73 String test = "not null"; 74 if (test.equals(null)) { 75 System.out.println("test is null"); 76 } 77 if (test.length() <= 0) { 78 System.out.println("test is null"); 79 } 80 if (test.isEmpty()) { 81 System.out.println("test is null"); 82 } 83 if (test == null) { 84 System.out.println("test is null"); 85 } 86 if (test != null && !test.isEmpty() && test.length() > 0 && !test.equals(null)) { 87 System.out.println("test : " + test); 88 } 89 } 90 91 public static void right3() { 92 String test = ""; 93 if (test.equals("") && test == "") { 94 System.out.println("test = """); 95 } 96 } 97 98 public static void main(String[] args) { 99 Test.nullPoint1(); 100 Test.nullPoint2(); 101 Test.nullPoint3(); 102 Test.nullPoint4(); 103 Test.error(); 104 Test.error2(); 105 Test.right(); 106 Test.right2(); 107 Test.right3(); 108 } 109 }
运行结果为:
test.equals(null): java.lang.NullPointerException
test.length() == 0: java.lang.NullPointerException
test.isEmpty(): java.lang.NullPointerException
test.equals(“”): java.lang.NullPointerException
test = null, “”.equals(test): false
test = null, test == “”: false
test = null, test == null: true
test : not null
test = “”
可以看到当字符串为null时,用equals()、length()、isEmpty() 都会抛出异常;而用与 “” 进行比较时,会出现判断失误。
所以可以使用 “if (test == null)” 来判断,简单直接。
注意当字符串为 “” 时,与null不同,不是空指针,得与”“比较。字符串为空
这个方法也适用于处理数据库中的null值问题
---------------------
作者:sys_
来源:CSDN
原文:https://blog.csdn.net/qq_34732088/article/details/79571938
版权声明:本文为博主原创文章,转载请附上博文链接!