get () de una lista, pero pasando como argumento en Java [duplicado]
Estoy tratando de obtener un elemento de una lista List<Class> listofitemsy tengo una variable global positionde tipo long. Me gustaría realizarlo listofitems.get(position)pero no me permite hacerlo ya que gettoma intcomo argumento. Si quiero mantener el tipo de positioncomo long, ¿hay alguna otra forma de hacerlo? (alguna otra forma además de enviar positiona int)?
Respuestas
Si quisiera hacer esto, tendría que construir una clase que contenga una agrupación de listas para representar sus datos. Puede escribir su propio método de acceso que divida su largo en ints más pequeños, para acceder a la posición correcta en su lista.
Vea esta respuesta: Uso de un índice largo como ArrayList en java
Este es un punto donde la memoria debe consultarse a través de la Unsafeapi. En caso de listas / matrices mayores que Integer.MAX_VALUE aquí, está el enlace.
NOTA:
Unsafe es literalmente inseguro. Si lo que tiene es un List<Class>, y no se puede cambiar a otro tipo, entonces no hay nada que pueda hacer además de convertirlo longen un int. No hay forma de tomar un arbitrario Listy llamar getcon nada más que un int.