get () de uma lista, mas passando o argumento em Java [duplicado]
Estou tentando obter um elemento de uma lista List<Class> listofitemse tenho uma variável global positiondo tipo long. Eu gostaria de atuar, listofitems.get(position)mas não me permite, pois getleva intcomo argumento. Se eu quiser manter o tipo de positionas long, há alguma outra maneira de fazer isso? (qualquer outra maneira além de lançar positionpara int)?
Respostas
Se você quisesse fazer isso, teria que construir uma classe que contenha um agrupamento de listas para representar seus dados. Você pode escrever seu próprio método de acesso que divide seu long em ints menores, para acessar a posição correta em sua lista.
Veja esta resposta: Usando um índice long as ArrayList em java
Este é um ponto onde a memória deve ser consultada por meio da UnsafeAPI. No caso de lista / matrizes maiores do que Integer.MAX_VALUE aqui está o link.
NOTA:
Unsafe é literalmente inseguro. Se o que você tem é um List<Class>e não pode ser alterado para outro tipo, não há nada que você possa fazer além de convertê-lo longem um int. Não há como pegar um arbitrário Liste ligar getcom nada além de um int.