자바에서는 어떤 필드가 null
일 수있는 클래스를 사용합니다. 예를 들어 :compare()에서 null 필드를 어떻게 처리할까요?
class Foo {
String bar;
//....
}
나는이 클래스에 대한 BarComparator을 작성하려면,
private static class BarComparator
implements Comparator<Foo> {
public int compare(final Foo o1, final Foo o2)
{
// Implementation goes here
}
}
는 o1
의 모든 것을, o2
, o1.bar
, o2.bar
이 null
을 할 수있다는 사실에 대처하는 표준 방법이 있나요 , 중첩 된 많이 쓰지 않고 if
... else
?
건배!
주제에서 벗어났습니다.하지만,// 1 이상에서 MIN/MAX_VALUE을 선호하는 이유는 무엇입니까? –
지연 응답 시간에 늦어서 죄송합니다. 삼각형의 불평등을 확실히하기 위해서입니다. > b> c의 경우 a.compareTo (b) + b.compareTo (c) <= a.compareTo (c). 아무도 신경 쓰지 않을 것입니다 ... –
o1/o2가 null 인 경우에도 여전히 'NullPointerException'을 throw 할 수 있습니다. o1/o2가 null 인 경우 어떻게 처리해야합니까? OP 언급 : o1, o2, o1.bar, o2.bar는 null 일 수 있습니다. 아니면 비교 자 계약의 일부입니까? null을 비교하면 NPE가 발생해야합니까? – Daniel