목록에서 get (), 그러나 Java에서 인수로 전달 [중복]
Nov 18 2020
목록에서 요소를 가져 List<Class> listofitems
오려고하는데 전역 변수 position
유형이 long
있습니다. 내가 수행하고자 listofitems.get(position)
하지만 이후 내가 그렇게 할 수 나던 get
소요 int
인수로. 유형을 position
로 유지하려면 long
다른 방법이 있습니까? (에 캐스팅 position
하는 것 외에 다른 방법이 int
있습니까?)
답변
EricLang Nov 18 2020 at 03:18
이렇게하려면 데이터를 나타내는 목록 그룹을 보유하는 클래스를 구성해야합니다. 목록의 올바른 위치에 액세스하기 위해 long을 더 작은 정수로 분할하는 고유 한 액세스 방법을 작성할 수 있습니다.
이 답변을 참조하십시오 : Java에서 long as ArrayList 인덱스 사용
D.Sikilai Nov 18 2020 at 03:38
이것은 Unsafe
API를 통해 메모리를 참조해야하는 지점 입니다. Integer.MAX_VALUE
여기 보다 큰 목록 / 배열의 경우 링크가 있습니다.
노트:
Unsafe
말 그대로 안전하지 않습니다. LouisWasserman Nov 18 2020 at 03:42
가지고있는 것이 List<Class>
이고 다른 유형으로 변경할 수없는 경우 long
이를 int
. 임의을 할 수있는 방법이 없습니다 List
및 전화 get
아무것도하지만, 함께가 int
.