olá a todos,
estou de novo com problemas, tenho um ArrayList com o nome lista, e quero pegar o valor de uma das posiçoes para fazer outros calculos,
como faço isso?
int p = 2,
int valorP=0;
System.out.print("posição 2 :"+lista.get(p)); // ATE AQUI NAO HA PROBLEMA, IMPRIME O VALOR QUE SE ENCONTRA NA POSIÇÃO 2
valorP= lista.get(2);//JA AQUI QUANDO EU TENTO PEGAR O VALOR QUE SE ENCONTRA NA POSIÇÃO 2, DÁ ERRO DE INCOMPATIBILIDADE
o porque do erro ?
como eu faço da forma correcta?
Provavelmente o tipo do objeto que está na lista é diferente com o tipo que está tentando receber o valor. Ex: Passar um double para um int.
Você pode fazer um Cast, mas cuidado: Se precisar de precisão do valor, recomento alterar o tipo da variavel que vai receber o valor da lista.
int p = 2,
int valorP=0;
System.out.print("posição 2 :"+lista.get(p));
valorP= (int) lista.get(2);//CAST
Declare corretamente o ArrayList. Isso remove alguns problemas. Exemplo:
List<Integer> lista = new ArrayList<Integer>();
......
int p = 2,
int valorP=0;
System.out.print("posição 2 :"+lista.get(p)); // ATE AQUI NAO HA PROBLEMA, IMPRIME O VALOR QUE SE ENCONTRA NA POSIÇÃO 2
valorP= lista.get(2);
o arrayList tem valores de tipo BigInteger, acho que é por isso que ha incompatibilidade, mas como eu pego o valor?
eu preciso fazer uns calculos com cada valor do arraylist.
[quote=leandro550s]o arrayList tem valores de tipo BigInteger, acho que é por isso que ha incompatibilidade, mas como eu pego o valor?
eu preciso fazer uns calculos com cada valor do arraylist.[/quote]
Espera um pouco. Esse ArrayList contém apenas valores de BigInteger? Se tiver, então você o declara como:
List<BigInteger > lista = new ArrayList<BigInteger >();
......
int p = 2,
BigInteger valorP=BigInteger.ZERO;
System.out.print("posição 2 :"+lista.get(p)); // ATE AQUI NAO HA PROBLEMA, IMPRIME O VALOR QUE SE ENCONTRA NA POSIÇÃO 2
valorP= lista.get(2);
Não crie arraylists com objetos de vários tipos, a menos que saiba o que está fazendo.
olha thingol nao sei se xtou digitando mal, mas esta dando erro
List<BigInteger > lista = new ArrayList<BigInteger >();
......
int p = 2,
BigInteger valorP=BigInteger.ZERO; // ERRO ';' expected
System.out.print("posição 2 :"+lista.get(p)); // ATE AQUI NAO HA PROBLEMA, IMPRIME O VALOR QUE SE ENCONTRA NA POSIÇÃO 2
valorP= lista.get(2);