如果list在这种情况下为空,我怎样才能避免java中的空指针异常?

ASH*_*ISH 1 java collections nullpointerexception

public static void selectEMployee() {
   if (list1.isEmpty()) {
         System.out.println("The list is empty");
   }else {
         System.out.println("The list of employees are");
         for (Employee emp : list1) {
           System.out.println("Name::" + emp.getName() + "\t EmpId::"
                            + emp.getEmpid() + "\t Address::" + emp.getAddress()
                            + "\tphone::" + emp.getPhone());
         }       
    }
}
Run Code Online (Sandbox Code Playgroud)

当列表为空时我想显示"列表为空"但它会抛出异常?

Bat*_*eba 11

list空对象和list尚未指定为a的引用的类型变量之间存在差异list.

即检查list1 == null.不要测试空虚,如果 null,你会得到一个NullPointerException.

把它放在一起,if (list1 == null || list1.isEmpty()){改为写.这是安全的,因为Java if从左到右评估语句,并且一旦有明确的答案就停止.

  • @OP:当你期望一个空的,但是现有的列表时,可能值得看看为什么`list1`是'null`. (2认同)