최근에 Gao Qi의 Java 300 튜토리얼을 읽었는데, Gao 선생님이 간략하게 설명한 코드가 있었는데, 자세히 살펴보니 거기에 포함된 지식 포인트를 이해하지 못했다고 느꼈습니다.
으아악두 번째 문장 Interger.parseInt("234")의 소스코드를 확인해보니
parseInt 메소드는 int 유형의 값을 반환한다고 위에서 명확하게 명시되어 있지만 어떻게 Integer 객체에 직접 할당할 수 있습니까?
또 다른 실험을 해봤습니다
으아악결과는 나를 매우 혼란스럽게 만들었습니다. 왜 이런 일이 발생합니까?
새내기 여러분, 제 궁금증을 해결해 주세요. 감사합니다!
저는 처음입니다. 어떤 버전의 JDK를 가지고 있나요? 제 IDE에 Integer i = 1;이라고 썼는데 최근에 JDK8로 업데이트했는데 JDK7도 괜찮을 것 같아요. 이전 버전에 대해 잘 모릅니다. 오토박싱의 제한 사항은 무엇입니까? 업그레이드해 보는 게 어때요?
JDK 1.5 이후에는 이 기본 데이터 유형과 해당 객체 유형을 자동으로 변환하는 자동 패키징 및 자동 언패킹 기능이 있습니다.
https://docs.oracle.com/javas...
JDK1.5 이후에는 자동 boxing, unboxing이 가능합니다
선생님의 코드는 자동 박싱 프로세스이고 Integer는 int의 패키징 클래스입니다. JDK 버전은 비교적 오래되었을 것입니다.