Também funciona, ou seja, alguém aí não é 65... debugga teu código que tem boi na linha hehe
kenneth
E se…
if(a.intValue()==b.intValue()){
//...
}
Abraco
dijava
é por isso que eu falei que é bizarro pq eu ja tentei todos esses jeitos variavel primitiva,==,equals e etc… eu debuguei alias estou com o breakpoint parado aqui, por isso que eu sei que é 65, eu passei tudo para String e coloquei o equal e funcionou, mas tb fiquei curioso dessa “ANOMALIA” que nunca me aconteceu rsrsrs e quero descobri a razao !
dijava
esse eu nao tinha testado, testei agora e funcionou alguem sabe a razao ?
R
RafaelViana
Não seria o mesmo caso da String? Como Integer é um objeto com o == vocẽ está comparando o local do alocamento da memória e não o valor da variável.
dijava
ai o equals deveria funcionar o q nao aconteceu
A
andredecotia
dijava:
pessoal sei que tem varios topicos sobre isso, e q nunca passei por esse problema, estou tentando comparar 2 Integer em um jsp e nao entra na condicao
int intValue()
Returns the value of this Integer as an int. Fonte: JavaDoc
Verdade. intValue() irá pegar o valor e não a referência.
kenneth
Fala brow,
O intValue() funciona com == por que retorna um primitivo.
Se voce comparar a == b, estara comparando as referencias das variaveis, o que no caso da false.
Fiz alguns testes aqui, e o a.equals(b) funcionou sim…