답변:
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부터 우리는 오토 박스를 가지고 있으며, 원시 클래스와 래퍼 클래스 사이의 변환은 자동으로 수행됩니다. 그러나 미묘한 버그와 성능 문제가 발생할 수 있으므로주의하십시오. 전환에 대해 명백한 것은 결코 아프지 않습니다.
C#
모든 데이터 유형은 "별명"을 가지고 int.Parse()
(안 정말 않더라도) 메이크업 감각을한다
C#
여기서는 전혀 관련이 없습니다.
Integer는 기본 유형 int의 래퍼입니다. Integer 클래스의 모든 기능을 사용하여 인생을 조금 더 쉽게 만들 수 있습니다.
Java를 처음 사용하는 경우 Java 설명서를 숙지해야합니다. 예를 들어, 정수 클래스 에 대해 알고 싶은 내용이 자세히 설명되어 있습니다.
이것은 Integer 클래스에 대한 문서에서 나온 것입니다.
Integer 클래스는 기본 유형 int의 값을 객체에 래핑합니다. Integer 유형의 오브젝트에는 유형이 int 인 단일 필드가 포함됩니다.
Integer
클래스와 마찬가지로 컨테이너는 기본 유형과 달리 컨테이너에 저장할 수 있습니다.
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는 기본 유형입니다. 이 차이는 컬렉션에 int 값을 저장하려고 할 때 큰 역할을합니다. jdk1.4까지 객체 만 값으로 허용하기 때문입니다. 오토 박싱 때문에 JDK5는 완전히 다른 이야기입니다.
Integer.valueOf(i)
또는 자동으로 호출 할 수 Integer.intValue()
있습니다. Collection<int>
여전히 작동하지 않습니다. 따라서 전혀 다른 이야기가 아닙니다. 짧은 이야기와 같은 이야기입니다.
Java에서 int는 기본 데이터 유형이고 Integer는 도우미 클래스이며 한 데이터 유형을 다른 데이터 유형으로 변환하는 데 사용됩니다.
예를 들면 다음과 같습니다.
double doubleValue = 156.5d;
Double doubleObject = new Double(doubleValue);
Byte myByteValue = doubleObject.byteValue ();
String myStringValue = doubleObject.toString();
기본 데이터 유형은 Helper 클래스가 복잡하고 힙 메모리에 저장되는 사용 가능한 가장 빠른 메모리를 저장합니다.
"David Gassner"Java Essential Training에서 참조하십시오.
이것은 Java : The Complete Reference, Ninth Edition 에서 발췌 한 것입니다 .
Java는 int 또는 double 과 같은 기본 유형 (단순 유형이라고도 함) 을 사용하여 언어에서 지원하는 기본 데이터 유형을 보유합니다. 성능 향상을 위해 객체가 아닌 기본 유형 이 이러한 수량에 사용 됩니다 . 이러한 값에 개체를 사용 하면 가장 간단한 계산조차도 용인 할 수없는 오버 헤드 가 발생합니다. 따라서, 기본 유형은 객체 계층 구조의 일부가 아닌 , 그리고 그들이 상속 개체하지 .
기본 유형이 제공하는 성능 이점에도 불구하고 객체 표현이 필요할 때가 있습니다. 예를 들어, 메소드를 참조하여 기본 유형을 전달할 수 없습니다 . 또한 Java로 구현 된 많은 표준 데이터 구조는 객체에서 작동 하므로 이러한 (객체 별) 데이터 구조를 사용하여 기본 유형을 저장할 수 없습니다 . 이러한 상황 및 기타 상황을 처리하기 위해 Java는 유형 래퍼를 제공합니다.이 래퍼는 객체 내에 기본 유형을 캡슐화하는 클래스입니다.
랩퍼 클래스는 Java의 오토 박싱 기능 과 직접 관련됩니다 . 타입 래퍼는 Double, Float, Long, Integer, Short, Byte, Character 및 Boolean 입니다. 이 클래스는 기본 유형을 Java의 객체 계층으로 완전히 통합 할 수있는 다양한 메소드를 제공합니다.
int
기본 데이터 유형 인 반면 Integer
Java의 참조 또는 랩퍼 유형 (클래스)입니다.
그 후 오토 박싱 과 언 박싱java 1.5
의 개념을 소개하면 둘 다 또는 이와 같이 초기화 할 수 있습니다 .int
Integer
int a= 9
Integer a = 9 // both valid After Java 1.5.
왜
Integer.parseInt("1");
하지만int.parseInt("1");
??
Integer
jdk
라이브러리에 정의 된 클래스 parseInt()
이며 정적 메소드입니다.Integer
클래스
따라서 Integer.parseInt("1");
Java에서 가능합니다. 그러나 int
java에서는 기본 유형 (키워드처럼 가정)입니다. 따라서 전화 parseInt()
를 걸 수 없습니다 int
.