Java/Android: Comparación de String s1==s2 no funciona
Pregunta de Invitado | 16/04/2022 a las 19:51
Estoy tratando de comparar dos cadenas (strings) usando el operador "==" en Java para Android. Tengo el siguiente código:
String s1 = new String("abc"); String s2 = new String("abc"); if (s1 == s2) { // igual?! } else { // no igual?! }
No sé por qué, pero esta condición siempre devuelve "false" independiente de si s1 y s2 son iguales o no.
¿Cuál es mi error aquí? En todos los demás idiomas de programación, sé y estoy familiarizado, está funcionando exactamente así.
Temas Relacionados
Java: Split en el punto str.split(".") no funciona
Pregunta | 1 Respuesta
Java: Mantener Campos vacíos en Split-Array
Consejo | 0 Comentarios
JavaScript: window.location como String
Información | 0 Comentarios
Java: IntToStr - Convertir Número entero String
Pregunta | 1 Respuesta
JavaScript: ¿String contiene otra String?
Pregunta | 1 Respuesta
Java: Compruebe si String solo contiene Números
Pregunta | 1 Respuesta
Java: Aplicación Swing debe usar el Estilo del Sistema Operativo
Pregunta | 1 Respuesta
Aviso Importante
Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.
Participar
Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.
En Java/Android, una String es un objeto. Cuando se utiliza el operador "==", Java está comprobando si los dos objetos son idénticos y no si su contenido es idéntico. Debido a su ejemplo, los objetos "s1" y "s2" no son idénticos, asi que la condición de IF siempre regresa "false".
Para comparar el contenido de dos cadenas, puede usar el método .equals(Object obj) para su comparación:
Además, en este ejemplo, he declarado la String s3 y la establece a s1. En este caso, en realidad, los objetos s1 y s3 son idénticos para que la condición con "==" sea "true" aquí.
16/04/2022 a las 20:41