Comparando Strings con ==
Todos aprendimos que para comparar strings utilizamos equals, pero que sucede si ocupamos == ¿? caso 1: los literales son iguales (quedan en el pool de strings), pero al comparar con uno creado con new String() ya no es igual a menos que se use intern: String d = "d"; final String dd = "d"; String ddd = new String("d"); System.out.println("1 true: " + (d == dd)); System.out.println("2 true: " + ("d" == dd)); System.out.println("3 true: " + (""" d""" == d)); System.out.println("4 false: " + ("d" == ddd)); System.out.println("5 true: " + (d == ddd.intern())); caso 2: usando string concatenation, serán iguales si no se concatenan con variables: String ja = "ja"; String va = "va"; ...