[Pegadinha Basica] - Explicação lógica

9 respostas
lina

Oi,

Apenas uma pegadinha. Alguém poderia explicar logicamente o motivo do código abaixo imprimir apenas _null e não TESTE_TESTE_TESTE_TESTE ?

Integer teste = null;
		
System.out.println
(
	"TESTE"+"_"
		+"TESTE"+"_"
		+"TESTE"+"_"
		+"TESTE"
		+teste	==	null
			?	""
			:	"_"+teste				
);

Tchauzin!

9 Respostas

mauricioadl

eh porque ele verifica se a string “TESTE_TESTE_TESTE_TESTE” é igual a null, como ela nao eh ele imprime apenas o _null.

tendeu?

lina

mauricioadl:
eh porque ele verifica se a string “TESTE_TESTE_TESTE_TESTE” é igual a null, como ela nao eh ele imprime apenas o _null.

tendeu?

Oi,

Sim. Eu já sabia disso. Tu acredita que um código semelhante a este foi para produção e ocasionou muita bagunça (pra não dizer outra coisa)?

Tchauzin!

nel

Que projeto é esse lina, em que você trabalha?
Tens pego umas “pegadinhas” por ai hein ? rs

mauricioadl

como foi essa bagunça? gostaria de saber pra ficar esperto.

[]'s

lina

nel:
Que projeto é esse lina, em que você trabalha?
Tens pego umas “pegadinhas” por ai hein ? rs

Oi,

Estamos com produto fechado em produção e estamos tendo um tempo para fazer uma varredura em toda codificação. Melhorando, aprimorando… etc… E sabe como é, cada código que aparece! Dá um susto! rsrs

Tchauzin!

lina

mauricioadl:
como foi essa bagunça? gostaria de saber pra ficar esperto.

[]'s

Oi,

Isso estava num método que recebia 4 argumentos para montar o nome de um arquivo e grava-lo na maquina. Esse arquivo é usado por um módulo do sistema, e claro, este módulo estava fazendo uma comparação (IF) usando uma constante para comparar o nome do arquivo.

Tchauzin!

nel

lina:
nel:
Que projeto é esse lina, em que você trabalha?
Tens pego umas “pegadinhas” por ai hein ? rs

Oi,

Estamos com produto fechado em produção e estamos tendo um tempo para fazer uma varredura em toda codificação. Melhorando, aprimorando… etc… E sabe como é, cada código que aparece! Dá um susto! rsrs

Tchauzin!

rsrs é de assustar ver algo desse tipo mesmo. Mas já vi bizarrices também.
Algo que eu vi, não era bizarro mas totalmente desnecessário, foi algo do tipo:

Integer i = Integer.parseInt(0);

Enfim né! Mas legal, se estão com tempo para revisão, é excelente.

d34d_d3v1l

legal este tópico…

essa pegadinha não é tão ‘pegadinha’ assim…
mas para iniciantes mesmo (não que eu não seje um!)

abraços

WRYEL

está ligado a como a JVM avalia as expressões (peço ajuda aos universitários, vinigodoy). seria a mesma coisa que:

if (<a>color=red</a>[/color] == null) {

return “”;

} else {

return “_”+teste;

}

[color=red]*: uma referencia de objeto em memória[/color], aqui teriamos um objeto em memória que não é nullo :slight_smile:

edit: sintaxe

Criado 31 de agosto de 2012
Ultima resposta 31 de ago. de 2012
Respostas 9
Participantes 5