자바 기본 유형 과 포장 유형의"="과 equals()방법

1903 단어 자바
8 대 기본 데이터 유형 은 모두 대응 하 는 포장 류 가 있다.  byte,short,int,long,float,double,char,boolean 은 각각 Byte,Short,Integer,Long,Float,Double,Character,Boolean 에 대응한다.
포장 유형의 등장 은 기본 데이터 형식 이 다른 대상 과 결합 하여 사용 할 수 있 도록 하 는 것 이다.예 를 들 어 자주 사용 하 는 집합 List 와 Set 등 저장 해 야 하 는 값 은 반드시 대상 이 어야 한다.한편,포장 류 의 자동 분해 와 포장 체 제 는 포장 류 와 기본 데이터 유형 을 교환 하 는 데 편리 하 게 한다.포장 류 와 기본 데이터 유형 간 의 차 이 는 군말 할 필요 가 없다.주로 초기 값,사용 방식,저장 방식 이 다르다 는 등 이다. 
4.567917.기본 형 과 기본 형 패 키 징 형 은'='연산 자 를 비교 하고 기본 형 패 키 징 형 은 자동 으로 상 자 를 뜯 어 기본 형 으로 바 꾼 후 비교 하기 때문에 Integer(0)는 자동 으로 상 자 를 int 유형 으로 뜯 어 비교 합 니 다
  • 다른 두 Integer 대상 이'='을 비교 할 때 한 측의 Integer 대상 이 new 에서 얻 은 것 이 라면 false 로 돌아 갑 니 다.두 대상 의 주 소 를 비교 하기 때 문 입 니 다

  • 4.567917.두 기본 형의 패 키 징 형 을 equals()와 비교 하면 먼저 equals()는 유형 을 비교 하고 유형 이 같 으 면 계속 비교 하 며 값 도 같 으 면 true 로 돌아 갑 니 다
  • 기본 형 패 키 징 유형 은 equals()를 호출 하지만 매개 변 수 는 기본 유형 입 니 다.이때 자동 으로 포장 하고 기본 형 은 패 키 징 유형 으로 전환 합 니 다.유형 이 다 르 면 false 로 돌아 갑 니 다.포장 후 유형 이 같 으 면 비교 값 입 니 다.값 이 같 으 면 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다

  • 4.567917.Integer,Short,Byte,Character,Long 등 포장 류 에 대해 모두 상수 탱크 가 있 고 상수 탱크 의 범 위 는-128~127 사이 이다.정 의 된 포장 류 의 값 이 이 범위 내 에 있 으 면 내부 캐 시 탱크 에 존재 하 는 대상 의 인용 을 직접 되 돌려 줍 니 다.부동 소수점 형 Float 와 Double 같은 포장 류 에 대해 상수 탱크 메커니즘 이 없 으 며 들 어 오 는 값 이 얼마 든 새로운 대상 이 될 것 입 니 다. 
    코드 예제:
    int a=257;
    Integer b=257;
    Integer c=257;
    Integer d=new Integer(a);
    Integer d1=new Integer(a);
    
    Integer b2=57;
    Integer c2=57;
    
    System.out.println(a==b);//true
    System.out.println(b==c);//false
    System.out.println(b2==c2);//true
    System.out.println(a==d);//true
    System.out.println(b==d);//false
    System.out.println(d==d1);//false
    
    System.out.println(a.equals(b));//    ,       equals()
    System.out.println(b.equals(257.0));//false
    System.out.println(b.equals(c));//true
    System.out.println(b.equals(a));//true
    System.out.println(b.equals(d));//true
    
    

    좋은 웹페이지 즐겨찾기