文章目录
- 1. 寻找代码案例中出错的场景
- 2. 案例
1. 寻找代码案例中出错的场景
字符串使用equals时报空指针错误
对象数组最燃new出来了,但是如果没有初始化,一样会报空指针错误
List对象add null不报错,但是addAll 不能添加null,否则会报空指针错误
2. 案例
package com.gblfy;import java.util.ArrayList;
import java.util.List;/*** <h1>字符串、数组、集合在使用时出现空指针</h1>*/
public class BasicUsageNpe {public static boolean stringEquals(String x, String y) {return x.equals(y);}public static class User {private String name;}public static void main(String[] args) {//1.字符串使用equals时报空指针错误
// System.out.println(stringEquals("xyz",null));//false
// //空对象调用属性 空指针
// System.out.println(stringEquals(null,"xyz"));//java.lang.NullPointerException//2.对象数组最燃new出来了,但是如果没有初始化,一样会报空指针错误
// User[] users = new User[10];
// for (int i = 0; i<users.length; i++) {
// users[i].name="gblfy-"+i;
// }//解决方案:
// for (int i = 0; i<users.length; i++) {
// users[i]=new User();
// users[i].name="gblfy-"+i;
// }//3.List对象add null不报错,但是addAll 不能添加null,否则会报空指针错误List<User> users = new ArrayList<>();User user = null;List<User> users_ = null;users.add(user);users.addAll(users_);}
}