두 개의 Integer Wrapper 클래스 비교

이샨 판 디아

이 프로그램이 첫 번째 print 문에서 false를 인쇄하고 print 문에서 true를 인쇄하는 이유는 무엇입니까? i와 i1은 두 개의 다른 객체이므로 첫 번째 명령문은 예상대로 "true"를 인쇄해야하지만 두 번째 인쇄 명령문은 "false"를 인쇄하여 혼란을 야기합니다.

public static void main(String[] args) {
        Integer i = new Integer(10);
        Integer i1 = new Integer(10);
        System.out.println(i == i1); //printing false
        i++;
        i1++;
        System.out.println(i == i1);//printing true
    } 
앤디 터너

new키워드를 사용하면 항상 두 개의 다른 인스턴스가 생성됩니다. 따라서 다음은 항상 사실입니다.

new Integer(10) != new Integer(10)

따라서 첫 번째 줄은 "false"를 인쇄합니다.

그때:

i++;

개봉 및 복싱을 숨 깁니다. 다음과 동일합니다.

i = Integer.valueOf(i.intValue() + 1);

의 Javadoc에Integer.valueOf 설명 된대로 -128에서 127 (적어도)까지의 값이 캐시됩니다. Integer.valueOf(11)둘 모두 대해 캐시 된 인스턴스를 다시 가져 오므로 두 번째 행은 "true"를 인쇄합니다.i++i1++

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C #에서 일반 클래스 유형의 두 개체 비교

분류에서Dev

클래스의 두 개체 속성 비교

분류에서Dev

두 개의 다른 클래스 인스턴스를 가져 와서 비교 (Java)

분류에서Dev

두 클래스 비교

분류에서Dev

두 개의 다른 목록 클래스를 어떻게 비교할 수 있습니까?

분류에서Dev

동일한 클래스의 두 개체를 올바르게 비교하는 방법은 무엇입니까?

분류에서Dev

규칙 언어 : 같은 클래스의 두 개체를 비교하는 방법은 무엇입니까?

분류에서Dev

두 개의 vcard 비교

분류에서Dev

두 개의 큰 수 비교

분류에서Dev

두 개의 JTextField 비교

분류에서Dev

두 개의 큰 매트릭스의 Matlab 비교

분류에서Dev

두 개의 텍스트 파일 비교 스크립트를 Bash

분류에서Dev

두 개의 joda DateTime 인스턴스 비교

분류에서Dev

두 개의 히스토그램을 비교하는 MATLAB 코드

분류에서Dev

두 개의 큰 텍스트 파일 비교

분류에서Dev

목록의 두 클래스 속성에서 두 데이터를 비교하는 방법은 무엇입니까?

분류에서Dev

기본 클래스의 파생 개체 2 개 비교

분류에서Dev

AS3 : 같은 클래스 (스테이지에서)의 이름없는 인스턴스 두 개 (또는 그 이상)를 비교합니까?

분류에서Dev

두 IP의 비교

분류에서Dev

두 개의 데이터베이스 테이블에서 두 값을 비교

분류에서Dev

두 개체를 동일한 부모 추상 클래스와 비교하고 출력이 0

분류에서Dev

Object 클래스의 변수 비교

분류에서Dev

Java 클래스 상속 및 하위 클래스 개체 비교

분류에서Dev

두 열의 두 행 비교

분류에서Dev

사용자 정의 클래스 : 배열의 두 요소를 비교하지 못했습니다.

분류에서Dev

jvm 수준별로 == 연산자를 사용할 때 동일한 클래스의 두 개체 간의 명확한 비교는 무엇입니까?

분류에서Dev

UIViewController의 동일한 하위 클래스인지 확인하기 위해 비교해야하는 두 개의 UIViewController가 있습니다.

분류에서Dev

서로 다른 두 변수의 클래스 유형이 같은지 어떻게 비교합니까?

분류에서Dev

서로 다른 두 변수의 클래스 유형이 같은지 어떻게 비교합니까?

Related 관련 기사

  1. 1

    C #에서 일반 클래스 유형의 두 개체 비교

  2. 2

    클래스의 두 개체 속성 비교

  3. 3

    두 개의 다른 클래스 인스턴스를 가져 와서 비교 (Java)

  4. 4

    두 클래스 비교

  5. 5

    두 개의 다른 목록 클래스를 어떻게 비교할 수 있습니까?

  6. 6

    동일한 클래스의 두 개체를 올바르게 비교하는 방법은 무엇입니까?

  7. 7

    규칙 언어 : 같은 클래스의 두 개체를 비교하는 방법은 무엇입니까?

  8. 8

    두 개의 vcard 비교

  9. 9

    두 개의 큰 수 비교

  10. 10

    두 개의 JTextField 비교

  11. 11

    두 개의 큰 매트릭스의 Matlab 비교

  12. 12

    두 개의 텍스트 파일 비교 스크립트를 Bash

  13. 13

    두 개의 joda DateTime 인스턴스 비교

  14. 14

    두 개의 히스토그램을 비교하는 MATLAB 코드

  15. 15

    두 개의 큰 텍스트 파일 비교

  16. 16

    목록의 두 클래스 속성에서 두 데이터를 비교하는 방법은 무엇입니까?

  17. 17

    기본 클래스의 파생 개체 2 개 비교

  18. 18

    AS3 : 같은 클래스 (스테이지에서)의 이름없는 인스턴스 두 개 (또는 그 이상)를 비교합니까?

  19. 19

    두 IP의 비교

  20. 20

    두 개의 데이터베이스 테이블에서 두 값을 비교

  21. 21

    두 개체를 동일한 부모 추상 클래스와 비교하고 출력이 0

  22. 22

    Object 클래스의 변수 비교

  23. 23

    Java 클래스 상속 및 하위 클래스 개체 비교

  24. 24

    두 열의 두 행 비교

  25. 25

    사용자 정의 클래스 : 배열의 두 요소를 비교하지 못했습니다.

  26. 26

    jvm 수준별로 == 연산자를 사용할 때 동일한 클래스의 두 개체 간의 명확한 비교는 무엇입니까?

  27. 27

    UIViewController의 동일한 하위 클래스인지 확인하기 위해 비교해야하는 두 개의 UIViewController가 있습니다.

  28. 28

    서로 다른 두 변수의 클래스 유형이 같은지 어떻게 비교합니까?

  29. 29

    서로 다른 두 변수의 클래스 유형이 같은지 어떻게 비교합니까?

뜨겁다태그

보관