2017-06-05 5 views
0
class Employee 
{ 
    int id; 

    Employee(int id) 
    { 
    this.id = id; 
    } 

    public int getID() 
    { 
    return id; 
    } 

    public void displayID() 
    { 
    System.out.println("ID="+id); 
    } 
} 

public class Example 
{ 
    public static void main(String[] args) 
    { 

    Employee employee1 = new Employee(100); 
    Employee employee3 = null; 

    List<Employee> arrayListEx = new ArrayList<Employee>(); 
    Set<Employee> setEx = new HashSet<Employee>(); 

    arrayListEx.add(employee1); 
    arrayListEx.add(employee3); 
    setEx.add(employee1); 
    setEx.add(employee3); 

    } 
} 

友達を設定し、私の理解セット1として は、null値が追加取得することができないようにしてください。 上記コードスニペットは、 "setEx.add(employee3)"のコンパイル時エラーをスローする必要がありますか? アドバイスをお願いいたします、事前に感謝します。は、ArrayListの内部にNULL値を格納し

+0

あなたはそれをコンパイルして見ないのですか?あなたが1つをインストールしたくない場合のためのオンラインコンパイラがあります – niceman

+0

私はその不幸なことをしました。ランタイムでは、私はNullPointerを取得しましたが、コンパイル時エラーはありません。それから私はこの質問をすることを考えました。 – Jagann

答えて

0

Java Hashsetドキュメント: "このクラスはnull要素を許可します"。ファイルがコンパイルされます。

Setはnullを許可していないとお伝えしました。これはその実装(link to docs)に依存します

+0

おかげで蛇田、これは間違いなく助けになる。 HashSetがnull値を許可する場合、ArrayListとHashSetの違いは何ですか? 申し訳ありませんが基本的な質問のようです.... – Jagann

+0

@ Jagannおそらくこの質問を見たいと思っています:https://stackoverflow.com/questions/1035008/what-is-the-difference-between-set-and -list – niceman

+0

この回答は役に立ちました:https://stackoverflow.com/a/39631527/4378740 – chakeda

関連する問題