예를 들어 왜 할 수 있습니까?
int n = 9;
하지만:
Integer n = 9;
그리고 당신은 할 수 있습니다 :
Integer.parseInt("1");
하지만:
int.parseInt("1");
답변
int
기본 유형입니다. 유형의 변수는 int
나타내려는 정수의 실제 이진 값을 저장합니다. 클래스 가 아니기int.parseInt("1")
때문에 의미 int
가 없으므로 메서드가 없습니다.
Integer
Java 언어의 클래스와 다르지 않습니다. 유형의 변수는 다른 참조 (객체) 유형과 마찬가지로 객체에 대한 참조 를 Integer
저장 합니다. 는 클래스 에서 정적 메소드에 대한 호출 입니다 (이 메소드는 실제로는 아닌를 반환 합니다 ).Integer
Integer.parseInt("1")
parseInt
Integer
int
Integer
좀 더 구체적으로 말하면 Integer
유형이 단일 인 클래스입니다 int
. 이 클래스는 int
일반 유형이나 널 입력이 필요한 상황과 같이 다른 오브젝트와 같이 취급 해야하는 경우 에 사용됩니다 .
Java의 모든 기본 유형에는 동등한 랩퍼 클래스가 있습니다.
byte
있다Byte
short
있다Short
int
있다Integer
long
있다Long
boolean
있다Boolean
char
있다Character
float
있다Float
double
있다Double
래퍼 클래스는 Object 클래스에서 상속되며 기본 클래스는 상속하지 않습니다. 따라서 Object 참조 또는 Generics가있는 컬렉션에서 사용할 수 있습니다.
자바 5부터 우리는 오토 박스를 가지고 있으며, 원시 클래스와 래퍼 클래스 사이의 변환은 자동으로 수행됩니다. 그러나 미묘한 버그와 성능 문제가 발생할 수 있으므로주의하십시오. 전환에 대해 명백한 것은 결코 아프지 않습니다.
답변
답변
Integer는 기본 유형 int의 래퍼입니다. Integer 클래스의 모든 기능을 사용하여 인생을 조금 더 쉽게 만들 수 있습니다.
Java를 처음 사용하는 경우 Java 설명서를 숙지해야합니다. 예를 들어, 정수 클래스 에 대해 알고 싶은 내용이 자세히 설명되어 있습니다.
이것은 Integer 클래스에 대한 문서에서 나온 것입니다.
Integer 클래스는 기본 유형 int의 값을 객체에 래핑합니다. Integer 유형의 오브젝트에는 유형이 int 인 단일 필드가 포함됩니다.
답변
int 변수는 32 비트 부호있는 정수 값을 보유합니다. Integer (자본 I)는 (클래스) 유형 Integer의 오브젝트에 대한 참조 또는 널을 보유합니다.
자바는 자동적으로 둘 사이에 캐스트를한다; Integer 객체가 int 연산자에 대한 인수로 발생하거나 int 변수에 할당되거나 int 값이 Integer 변수에 할당 될 때마다 Integer에서 int로 이 캐스팅을 박싱 / 언 박싱이라고합니다.
null을 참조하는 Integer 변수가 명시 적으로 또는 암시 적으로 언 박싱 된 경우 NullPointerException이 발생합니다.
위의 텍스트에서 “변수”라는 용어는 지역 변수, 필드 또는 매개 변수를 의미합니다.
답변
Integer
Java에서 랩퍼 유형을 참조하는 반면 int
기본 유형은 . Java에서 기본 데이터 유형을 제외한 모든 것은 Java를 의미하는 객체가 고품질의 순수한 객체 지향 프로그래밍 언어 인 것처럼 구현됩니다. 필요한 경우 모든 프리미티브 유형을 Java에서 랩퍼 유형으로도 사용할 수 있습니다. 기본 유형에서 일부 성능 이점을 얻을 수 있으므로 래퍼 유형은 필요할 때만 사용해야합니다.
아래 예와 같이.
Integer n = 9;
상수가 9
되고있는 자동 박스 ( auto-boxing
과 unboxing
에서 자동으로 발생 java 5
이후)에 Integer
따라서 당신은 또한 그와 같은 문을 사용할 수 있습니다 Integer n = new Integer(9)
. 이것은 실제로 진술을 통해 달성됩니다.Integer.valueOf(9).intValue();
답변
int는 객체가 아닌 기본 유형입니다. 이는 연관된 메소드가 없음을 의미합니다. 정수는 메소드가있는 객체입니다 (예 : parseInt).
최신 자바에는 자동 권투 및 언 박싱 기능이 있습니다. 즉, 컴파일러는 필요한 곳에 Integer.valueOf (int) 또는 integer.intValue ()를 삽입합니다. 그것은 실제로 쓸 수 있음을 의미합니다
Integer n = 9;
이것은 다음과 같이 해석됩니다
Integer n = Integer.valueOf(9);
답변
정수는 랩퍼 클래스 / 오브젝트이고 int는 기본 유형입니다. 이 차이는 컬렉션에 int 값을 저장하려고 할 때 큰 역할을합니다. jdk1.4까지 객체 만 값으로 허용하기 때문입니다. 오토 박싱 때문에 JDK5는 완전히 다른 이야기입니다.