Observé un extraño comportamiento ==
operador en java. Estoy tratando de imprimir la salida puesto de la siguiente maneracomportamiento extraño de == en Java
String str1 = "Rajesh";
String str2 = "Rajesh";
System.out.println("Using equals() str1 and str2 Equals :"
+ str1.equals(str2));
System.out.println("Using == str1 and str2 Equals :"
+ str1 == str2);
La primera declaración SOP impresión
Usando iguales() cadena1 y cadena2 equivale a: verdadera impresión
y el siguiente SOP solamente falso
Intenté compilar tanto en eclipse como en Net Beans pero el resultado es el mismo. Estoy muy confundido por qué
== Usando cadena1 y cadena2 Igual:
no imprime
Ayúdame a cabo en este
Gracias de antemano,
Raj
¿usted intentó encapsular la condición entre paréntesis es posible se añade la primera condición a la cadena después se evaluó con str2 – Josh
' "Uso == cadena1 y cadena2 Igual:"?. + cadena1 == cadena2 'será el equivalente de '" Usar == str1 y str2 Igual a: "+" Rajesh "==" Rajesh "'. Como '+' tiene una precedencia mayor que '==' ('2 + 2 == 4'), tendremos el equivalente de' "Usando == str1 y str2 Igual a: Rajesh" == "Rajesh" ', que será 'falso'. –
posible duplicado de [Java String.equals versus ==] (http://stackoverflow.com/questions/767372/java-string-equals-versus) –