1 public class Demo13{ 2 3 /* 4 5 NullPointerException即空指针异常,俗称NPE。如果一个对象为null,调用其方法或访问其字段就会产生NullPointerException,这个异常通常是由JVM抛出的 6 7 */ 8 public static void main(String[] args) { 9 10 Person p = new Person(); 11 System.out.println(p.name.length); 12 System.out.println(p.address.city.toLowerCase()); 13 } 14 } 15 16 17 class Person{ 18 String[] name= new String[2]; 19 Address address = new Address(); 20 } 21 22 class Address{ 23 //如果定义不初始化,就会报NullPointerException即空指针异常 24 //String city; 25 //好的编码习惯可以极大地降低NullPointerException的产生 26 String city = ""; 27 //成员变量在定义时初始化:使用空字符串""而不是默认的null可避免很多NullPointerException,编写业务逻辑时,用空字符串""表示未填写比null安全得多 28 String street = ""; 29 30 //返回空字符串""、空数组而不是null: 31 //这样可以使得调用方无需检查结果是否为null 32 /* 33 public String[] readLinesFromFile(String file) { 34 if (getFileSize(file) == 0) { 35 // 返回空数组而不是null: 36 return new String[0]; 37 } 38 } 39 */ 40 }