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 }