6
Boolean
을 booleans
에서 만드는 더 좋은 방법은 Boolean.valueOf()
과 Java 1.5 autoboxing
사이이며 그 이유는 무엇입니까? boolean
의Boolean 개체를 만들려면 Boolean.valueOf() 메서드 또는 Java 1.5 autoboxing을 사용하십시오.
Boolean
을 booleans
에서 만드는 더 좋은 방법은 Boolean.valueOf()
과 Java 1.5 autoboxing
사이이며 그 이유는 무엇입니까? boolean
의Boolean 개체를 만들려면 Boolean.valueOf() 메서드 또는 Java 1.5 autoboxing을 사용하십시오.
오토 박싱은 투명 컴파일러에 의해 Boolean.valueOf()
변환됩니다 : 당신이 더 유용하고 읽을 찾을 중
iconst_1
istore_1 //b = 1 (true)
iload_1 //b
invokestatic #2; //Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore_2 //bb = Boolean.valueOf(b)
사용 :
boolean b = true;
Boolean bb = b;
가 변환됩니다. Boolean.valueOf()
을 사용하면 여분의 입력을 제외하고는 아무 것도주지 않으므로 autoboxing을 목표로해야합니다. Boolean
에서 boolean
에 - 당신이 반대의 변환을 생각하면
상황이 복잡하게한다. 이번에는 Boolean.booleanValue()
이 컴파일러에 의해 투명하게 호출되어 이론적으로는 NullPointerException
이 될 수 있습니다.
유지 관리가 중요합니다. 비록 그들이 동일한 바이트 코드로 컴파일되지 않을지라도, 가독성이 구동 요소가 될만큼 충분히 동등 할 것입니다. – corsiKa
필자는 개인적으로 명시 적 valueOf()를 선호하므로 래퍼 유형으로의 변환이 발생한다는 것을 분명히 알 수 있습니다. 물론 이것은 개인적인 취향입니다. – Durandal
@Thomasz 어떻게 NPE를 일으킬 수 있습니까? 나는 그 부분을 얻지 못한다. – Geek