0

compareToメソッドに含まれるnullオブジェクトの処理方法。これにより、常にnullpointer例外が発生します。この問題を解決するための最良の方法は何ですか。

4

3 に答える 3

3
public int compareTo(Object to) {
  if (to == null) return Integer.MIN_VALUE;
  // Now knowing it's not null, continue as before
}
于 2011-03-28T05:30:18.660 に答える
1

「compareTo」メソッドを呼び出す前に、オブジェクトを確認できます。

このような:

if(obj != null){

  //TODO  

}
于 2011-03-28T05:29:56.130 に答える
0

Comparableのすばらしいドキュメントから:

nullはどのクラスのインスタンスでもないことに注意してください。また、e.equals(null)がfalseを返したとしても、e.compareTo(null)はNullPointerExceptionをスローする必要があります。

NullPointerExceptionsを処理したくない場合は、ソートされたコレクションにnullを入れないでください。

于 2011-04-08T13:47:46.177 に答える