자바 의 기본 유형 포장 류 (포장 해제) 및 그 중 Integer 의 특성

4818 단어
기본 데이터 형식 에 대해 더 많은 조작 을 하기 위해 자바 는 모든 기본 데이터 형식 에 대응 하 는 유형 을 제공 합 니 다.일반적인 작업 중 하나: 기본 데이터 형식 과 문자열 간 의 변환.기본 유형 과 대응 하 는 포장 유형.
기본 유형
대응 하 는 포장 류
byte
Byte
short
Short
int
Integer
long
Long
float
Float
double
Double
char
Character
boolean
Boolean
Integer 류 는 대상 에 기본 유형의 int 값 을 포장 합 니 다.Integer 형식의 대상 은 int 형식의 필드 를 포함 합 니 다.그 밖 에 이 종 류 는 int 유형 과 String 유형 간 에 서로 전환 할 수 있 는 여러 가지 방법 을 제공 하고 int 유형 을 처리 할 때 매우 유용 한 다른 상수 와 방법 도 제공 합 니 다.
구조 방법 요약
  • Integer (int value) 는 새로 분 배 된 Integer 대상 을 구성 합 니 다. 지정 한 int 값 을 표시 합 니 다.
  • Integer (String s) 는 새로 분 배 된 Integer 대상 을 구성 합 니 다. 이 는 String 매개 변수 가 가리 키 는 int 값 을 표시 합 니 다.
  • 
    public class Mytest3 {
        public static void main(String[] args) {
            int num = 100;
            Integer integer = new Integer(num);
            System.out.println(integer);
            Integer integer1 = new Integer("123");
            System.out.println(integer1+89);
        }
    }
    
    
    
    public class Mytest1 {
        public static void main(String[] args) {
            int num=100;
            //      
            String string = Integer.toBinaryString(num);
            //      
            String string1 = Integer.toOctalString(num);
                   
            String string2 = Integer.toHexString(num);
            //                   
            System.out.println(Integer.parseInt(string)+45);
            System.out.println(string1);
            System.out.println(string2);
        }
    }
    

    String 과 int 형식의 상호 변환
    int – String
  • 과 '' 를 연결 합 니 다
  • public static String valueOf(int i)
  • int – Integer – String
  • public static String toString(int i)

  • String – int
  • String – Integer – intValue();
  • public static int parseInt(String s)
  • public class Mytest2 {
        public static void main(String[] args) {
            //int->String
            int num=100;
            String str=num+"";
            String.valueOf(num);
            String s = new Integer(num).toString();
            //String->int
            String str1 = "123";
            Integer integer = new Integer(str1);
            int i = integer.intValue();
            int i1 = Integer.parseInt(str1);
        }
    }
    
    

    JDK 5 의 새로운 기능 으로 자동 으로 포장 을 뜯 습 니 다.
  • 자동 포장: 기본 유형 을 포장 유형 으로 전환
  • 자동 분해: 포장 류 유형 을 기본 유형 으로 전환
  • public class Mytest4 {
        public static void main(String[] args) {
            Integer num = 100;//    
            int num1 = 200;
            int i = num.intValue();//    
            System.out.println(num + num1);
        }
    }
    
    
    public class Mytest5 {
        public static void main(String[] args) {
            Integer num = 10;//    
            num  += 100;//     ,     
            Integer integer = new Integer(200);
            int i = integer.intValue();//    
            Integer integer1 = Integer.valueOf(100);//    
            Integer integer2 = Integer.valueOf("10000");//    
    
        }
    }
    
    

    자바 의 Integer, int 와 new Integer 는 어떻게 된 겁 니까?
  • int 와 Integer 를 비교 할 때 Integer 는 상 자 를 뜯 어 int 값 과 int 값 으로 비교 합 니 다.
  • Integer 와 Integer 를 비교 할 때 직접 할당 할 때 자동 으로 포장 되 기 때문에 두 가지 문 제 를 주의해 야 합 니 다. 하 나 는 - 128 < = x < = 127 의 정수 입 니 다. Integer Cache 에 직접 캐 시 됩 니 다. 그러면 할당 이 이 구간 에 있 을 때 새로운 Integer 대상 을 만 들 지 않 고 캐 시 에서 만 든 Integer 대상 을 가 져 옵 니 다.2. 이 범위 보다 클 때 new Integer 로 Integer 대상 을 만 듭 니 다.
  • new Integer (1) 는 Integer a = 1 과 달리 전 자 는 대상 을 만 들 고 더미 에 저장 하 며 후 자 는 - 128 에서 127 범위 내 에서 새로운 대상 을 만 들 지 않 고 Integer Cache 에서 얻 기 때문이다.그러면 Integer a = 128, 이 범위 보다 크 면 new Integer (128) 를 통 해 대상 을 직접 만 들 고 포장 할 수 있 습 니 다.
  • package org.westos.demo2;
    
    public class Mytest6 {
        public static void main(String[] args) {
            Integer i1 = new Integer(127);
            Integer i2 = new Integer(127);
            System.out.println(i1 == i2);//false
            System.out.println(i1.equals(i2));//true
            System.out.println("-----------");
    
            Integer i3 = new Integer(128);
            Integer i4 = new Integer(128);
            System.out.println(i3 == i4);//false
            System.out.println(i3.equals(i4));//true
            System.out.println("-----------");
    
            Integer i5 = 128;
            Integer i6 = 128;
            System.out.println(i5 == i6);//false                 new   Integer  
            System.out.println(i5.equals(i6));//true
            System.out.println("-----------");
    
            Integer i7 = 127;
            Integer i8 = 127;
            System.out.println(i7 == i8);//true                                 -128---127
            System.out.println(i7.equals(i8));//true
        }
    }
    
    

    실행 결 과 는:
    false
    true
    -----------
    false
    true
    -----------
    false
    true
    -----------
    true
    true
    

    좋은 웹페이지 즐겨찾기