긴 vs 정수, 긴 vs int, 무엇을 언제 사용할 것인가?
를 사용하는 볼 수.long
★★★★★★★★★★★★★★★★★」Long
★★★★★★★★★★★★★★★★★」int
★★★★★★★★★★★★★★★★★」Integer
어떻게 결정을 내렸는지 알 수가 없어요
언제 뭘 골라야 하죠?
Long
는 는 입니다.Object
의 long
, , , , 입니다.Integer
는 사물의 입니다.int
.
long
는 64비트를 사용합니다.그int
는 32비트를 사용하므로 최대 ±20억(-231~+2-131)의 숫자만 유지할 수 있습니다.
하면 됩니다.long
★★★★★★★★★★★★★★★★★」int
,에서 한 방법을 사용할 필요가 있는 경우는 합니다.Object
「」, 「」등입니다.hashcode
Java.util.collections
은 보통 )를 합니다.Object
버전에서도 할 수 있어야 입니다.왜냐하면 이 버전들은 어떤 버전에서도 동작해야 하기 때문입니다.Object
예를 들어 '원시형'입니다int
★★★★★★★★★★★★★★★★★」long
는아, 아, 아, 아, 아, 아, 아, 아니다.Object
.
또 다른 차이점은long
★★★★★★★★★★★★★★★★★」int
값은 패스 바이 밸류이지만,Long
★★★★★★★★★★★★★★★★★」Integer
pass-by-reference 값은 모든 비 프라이머리 Java 유형과 동일합니다.이 때문에, 예를 들면, RADIUS 에 대해서Long
★★★★★★★★★★★★★★★★★」Integer
(JNI 코드를 사용하지 않고는 불변합니다.) 다른 코드를 사용해야 하는 또 다른 이유가 있습니다.
마지막으로 다른 점은Long
★★★★★★★★★★★★★★★★★」Integer
"" " " " " " " " " " 가 될 수 .null
.
원시 유형으로는 수행할 수 없는 몇 가지 작업이 있습니다.
null
- 그들과 동기화하다.
- 범용 클래스의 유형 파라미터로 사용합니다.이 파라미터와 관련된 파라미터는 다음과 같습니다.
- 합니다.
Object
s
이러한 타입이 필요 없는 한, 메모리 사용량이 적기 때문에, 프리미티브 타입을 추천합니다.
- 로는 「」를 합니다.
int
「번호 보유」를 사용합니다. - 가 「」의 .
int
작아요, 작아요.long
- 가 「」의 .
long
작아요. 사용BigInteger
- 가 있는 를 들면, 를 「」에 넣는 )
Collection
, 삭제null
, ...)Integer
/Long
대신에
안int
입니다.32비트입니다long
64번입니다.어느 것을 사용할지는, 사용하는 숫자의 크기에 따라 다릅니다.
int
★★★★★★★★★★★★★★★★★」long
는 원시형입니다.단, '원시형'은Integer
★★★★★★★★★★★★★★★★★」Long
오브젝트입니다.프리미티브 더 오브젝트를 를 들어 오브젝트만 할 수 오브젝트를 할 수 .예를 들어 Java의 컬렉션 클래스는 오브젝트만 사용할 수 있기 때문에 정수 리스트가 필요한 경우 오브젝트로 만들어야 합니다.List<Integer>
를 들어 할 수 int
in a a a a List
★★★★★★★★★★★★★★★★★★」
Integer는 부호 있는 32비트 정수 유형입니다.
- 로 표시됨
- 사이즈 =
- 범위의 정수를 유지할 수 있습니다.
- 기본값은 0 입니다.
Long은 부호 있는 64비트 정수형입니다.
- Denoted as
Long
- Size =
64 bits (8byte)
- Can hold integers of range
-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
- default value is 0L
변수 사용량이 32비트 범위에 속할 경우Int
, 그렇지 않으면 를 사용합니다.long
. 보통 long은 과학적 계산에 사용되며, 그러한 것들은 많은 정확성을 필요로 한다. (예를 들어 pi의 값.
하나를 선택하는 것의 예는 유튜브의 경우이다.그들은 처음에 비디오 뷰 카운터를
int
인기 있는 동영상이 2,480,483,647건 이상 조회되면서 넘쳤다.그 이후로는Int
카운터는 범위보다 큰 값을 저장할 수 없습니다. YouTube는 카운터를 64비트 변수로 변경했으며 최대 9,223,372,036,854,775,807개의 뷰를 카운트할 수 있습니다.데이터를 이해하고 64비트 변수에 맞는 유형을 선택합니다. 32비트 변수보다 두 배의 메모리가 필요합니다.
When it comes to using a very long number that may exceed 32 bits to represent, you may use long to make sure that you'll not have strange behavior.
From Java 5 you can use in-boxing and out-boxing features to make the use of int and Integer completely the same. It means that you can do :
int myInt = new Integer(11);
Integer myInt2 = myInt;
입력 및 출력 박스를 사용하면 추가 변환 없이 int와 Integer를 전환할 수 있습니다(같은 경우).Long
,Double
,Short
~도)
사용할 수 있습니다.int
항상 그렇지만Integer
에는 정수(예를 들어 다음과 같은)를 사용하여 복잡한 작업을 수행하는 데 도움이 되는 도우미 메서드가 포함되어 있습니다.Integer.parseInt(String)
)
a) object Class "Long" versus primitive type "long". (At least in Java)
b) There are different (even unclear) memory-sizes of the primitive types:
Java - all clear: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
- byte, char .. 1B .. 8b
- short int .. 2B .. 16b
- int .. .. .. .. 4B .. 32b
- long int .. 8B .. 64b
C .. just mess: https://en.wikipedia.org/wiki/C_data_types
- short .. .. 16b
- int .. .. .. 16b ... wtf?!?!
- long .. .. 32b
- long long .. 64b .. mess! :-/
ReferenceURL : https://stackoverflow.com/questions/5857812/long-vs-integer-long-vs-int-what-to-use-and-when
'programing' 카테고리의 다른 글
v-bind 개체를 사용하여 하위 구성 요소에서 소품을 가져오는 방법 (0) | 2022.07.07 |
---|---|
코어 파일은 덤프되었지만 코어 파일은 덤프되었습니다. (0) | 2022.07.07 |
C: POSIX 스레드를 사용하여 재귀 뮤텍스를 선언하려면 어떻게 해야 합니까? (0) | 2022.07.07 |
VueJ를 사용한 동적 입력 필드 추가 (0) | 2022.07.07 |
기본 포인터와 스택 포인터란 정확히 무엇입니까?그들은 무엇을 가리키고 있나요? (0) | 2022.07.07 |