찾다

 >  Q&A  >  본문

Gao Qi의 Java 비디오에서 Integer 객체에 int 유형 값을 직접 할당하는 이 명령문이 어떻게 컴파일을 통과할 수 있습니까?

최근에 Gao Qi의 Java 300 튜토리얼을 읽었는데, Gao 선생님이 간략하게 설명한 코드가 있었는데, 자세히 살펴보니 거기에 포함된 지식 포인트를 이해하지 못했다고 느꼈습니다.

으아악

두 번째 문장 Interger.parseInt("234")의 소스코드를 확인해보니

parseInt 메소드는 int 유형의 값을 반환한다고 위에서 명확하게 명시되어 있지만 어떻게 Integer 객체에 직접 할당할 수 있습니까?

또 다른 실험을 해봤습니다

으아악

결과는 나를 매우 혼란스럽게 만들었습니다. 왜 이런 일이 발생합니까?

새내기 여러분, 제 궁금증을 해결해 주세요. 감사합니다!

ringa_leeringa_lee2726일 전990

모든 응답(4)나는 대답할 것이다

  • 学习ing

    学习ing2017-06-15 09:23:19

    저는 처음입니다. 어떤 버전의 JDK를 가지고 있나요? 제 IDE에 Integer i = 1;이라고 썼는데 최근에 JDK8로 업데이트했는데 JDK7도 괜찮을 것 같아요. 이전 버전에 대해 잘 모릅니다. 오토박싱의 제한 사항은 무엇입니까? 업그레이드해 보는 게 어때요?

    회신하다
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-15 09:23:19

    JDK 1.5 이후에는 이 기본 데이터 유형과 해당 객체 유형을 자동으로 변환하는 자동 패키징 및 자동 언패킹 기능이 있습니다.

    https://docs.oracle.com/javas...

    회신하다
    0
  • 滿天的星座

    滿天的星座2017-06-15 09:23:19

    JDK1.5 이후에는 자동 boxing, unboxing이 가능합니다

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-06-15 09:23:19

    선생님의 코드는 자동 박싱 프로세스이고 Integer는 int의 패키징 클래스입니다. JDK 버전은 비교적 오래되었을 것입니다.

    회신하다
    0
  • 취소회신하다