programing

긴 vs 정수, 긴 vs int, 무엇을 언제 사용할 것인가?

prostudy 2022. 7. 7. 22:29
반응형

긴 vs 정수, 긴 vs int, 무엇을 언제 사용할 것인가?

를 사용하는 볼 수.long ★★★★★★★★★★★★★★★★★」Long ★★★★★★★★★★★★★★★★★」int ★★★★★★★★★★★★★★★★★」Integer어떻게 결정을 내렸는지 알 수가 없어요

언제 뭘 골라야 하죠?

Long는 는 입니다.Objectlong , , , , 입니다.Integer는 사물의 입니다.int.

long64비트를 사용합니다.int는 32비트를 사용하므로 최대 ±20억(-231~+2-131)의 숫자만 유지할 수 있습니다.

하면 됩니다.long ★★★★★★★★★★★★★★★★★」int ,에서 한 방법을 사용할 필요가 있는 경우는 합니다.Object 「」, 「」등입니다.hashcodeJava.util.collections은 보통 )를 합니다.Object 버전에서도 할 수 있어야 입니다.왜냐하면 이 버전들은 어떤 버전에서도 동작해야 하기 때문입니다.Object 예를 들어 '원시형'입니다int ★★★★★★★★★★★★★★★★★」long는아, 아, 아, 아, 아, 아, 아, 아니다.Object.

또 다른 차이점은long ★★★★★★★★★★★★★★★★★」int값은 패스 바이 밸류이지만,Long ★★★★★★★★★★★★★★★★★」Integerpass-by-reference 값은 모든 비 프라이머리 Java 유형과 동일합니다.이 때문에, 예를 들면, RADIUS 에 대해서Long ★★★★★★★★★★★★★★★★★」Integer(JNI 코드를 사용하지 않고는 불변합니다.) 다른 코드를 사용해야 하는 또 다른 이유가 있습니다.

마지막으로 다른 점은Long ★★★★★★★★★★★★★★★★★」Integer"" " " " " " " " " " 가 될 수 .null.

원시 유형으로는 수행할 수 없는 몇 가지 작업이 있습니다.

  • null
  • 그들과 동기화하다.
  • 범용 클래스의 유형 파라미터로 사용합니다.이 파라미터와 관련된 파라미터는 다음과 같습니다.
  • 합니다.Objects

이러한 타입이 필요 없는 한, 메모리 사용량이 적기 때문에, 프리미티브 타입을 추천합니다.

  • 로는 「」를 합니다.int 「번호 보유」를 사용합니다.
  • 가 「」의 .int작아요, 작아요.long
  • 가 「」의 .long작아요. 사용BigInteger
  • 가 있는 를 들면, 를 「」에 넣는 )Collection, 삭제null, ...)Integer/Long 대신에

int입니다.32비트입니다long64번입니다.어느 것을 사용할지는, 사용하는 숫자의 크기에 따라 다릅니다.

int ★★★★★★★★★★★★★★★★★」long는 원시형입니다.단, '원시형'은Integer ★★★★★★★★★★★★★★★★★」Long오브젝트입니다.프리미티브 더 오브젝트를 를 들어 오브젝트만 할 수 오브젝트를 할 수 .예를 들어 Java의 컬렉션 클래스는 오브젝트만 사용할 수 있기 때문에 정수 리스트가 필요한 경우 오브젝트로 만들어야 합니다.List<Integer>를 들어 할 수 intin 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

반응형