1
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());
         }       
    }
}

リストが空のときに「リストが空です」と表示したいのですが、例外がスローされますか?

4

5 に答える 5

11

list空のオブジェクトとlist、への参照としてまだ割り当てられていない型の変数には違いがありますlist

すなわちチェックlist1 == null。が得られる場合 、空であることをテストしないでください。nullNullPointerException

まとめて、if (list1 == null || list1.isEmpty()){代わりに書いてください。ifJava はステートメントを左から右に評価し、明確な答えが得られると停止するため、これは安全です。

于 2013-09-13T08:47:59.303 に答える
2

この小さな修正を適用すると、機能します。

if (list1 == null || list1.isEmpty()) {
    System.out.println("The list is empty");
}
于 2013-09-13T08:47:58.503 に答える
1

list1-var が初期化されていないようです。次の方法で確認する必要があります。

if(list1 == null || list1.isEmpty())
于 2013-09-13T08:48:57.477 に答える
1
public static void selectEMployee() {
            if (list1.isEmpty() || list1==null) //changes made here{
               System.out.println("The list is empty");
            }// this is not allowed here
            } 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());
                }


        }

} for method before を閉じています if else for loop closes

于 2013-09-13T08:48:10.757 に答える
1

一度お試しください

public static void selectEMployee() {

  if (list1!=null && !list1.isEmpty()) {
      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());
      }

  } else {
      System.out.println("The list is empty");
  }
}
于 2013-09-13T08:53:02.187 に答える