2 개의 Boolean
래퍼를 서로 비교해야합니다. 결과적으로 나는 그들이 동등한 지 아닌지 알고 싶습니다.자바에서 두 개의 부울을 비교하는 방법은 무엇입니까?
public static boolean areEqual(final Boolean a, final Boolean b) {
if (a == b) {
return true;
}
if (a != null && b != null) {
return a.booleanValue() == b.booleanValue();
}
return false;
}
제대로 어떤지를 두 Boolean
래퍼를 비교하는 더 나은 및/또는 짧은 방법이 :
이 내가 생각 해낸 무엇인가?
먼저 Object.equals()
또는 Boolean.compareTo()
을 사용하고 싶었지만 두 방법 모두 NullPointerException
으로 끝날 수 있습니다. 맞습니까? 어쩌면 여기에 보이지 않는 무언가가있을 수 있습니다. 그것이 내가 묻는 이유입니다.
부울이 null이 될 수 없도록 코드를 작성하는 것이 좋습니다 (버그 일 경우 코드가 실패하고 NPE가 누락 된 경우). 그렇다면 당신은 제정신 인 것처럼 평등하게 그들을 비교할 수 있습니다. – pvg
이 질문 []을 확인하십시오 (https://stackoverflow.com/questions/31366231/how-to-check-if-two-boolean-values-are-equal) – Laf
@pvg 부울 래퍼를 사용해야합니다, 그게 문제입니다. . – winklerrr