funciones - metodo equals string java
¿Debo elegir== o eq para comparar cadenas en EL? (3)
Ambos son lo mismo. Ambos ==
y eq
darán como resultado el siguiente código:
jspContext.findAttribute("person.sokande_i").equals("endast_usa")
para EL
${person.sokande_i == ''endast_usa''}
==
y eq
dan el mismo resultado usando EL para realizar mis pruebas de comparación de cadenas:
<c:if test="${person.sokande_i == ''endast_usa''}">Endast USA</c:if>
<c:if test="${person.sokande_i == ''alla''}">Alla länder</c:if>
<c:if test="${person.sokande_i == ''alla_utom_usa''}">Alla utom USA</c:if>
¿Debo usar eq
lugar? ¿Es ==
solo para enteros? Pero funciona también para cadenas. AFAIK ==
prueba si los hashCodes son iguales y eq
significa "significativamente diferente".
Otra question dice ==
y eq
hacen lo mismo.
¿No hay diferencia aquí? NO es la diferencia la que estoy diciendo: ==
mira el hashCode y eq
mira la implementación de equals(...)
.
Ambos son lo mismo. Utilizo eq
en EL porque es más legible como una oración.
De acuerdo con la documentation , es lo mismo
Además de . y [] operadores discutidos en Value and Method Expressions, el EL proporciona los siguientes operadores, que pueden usarse solo en expresiones rvalue:
[...]
Relacional : ==, eq,! =, Ne, <, lt,>, gt, <=, ge,> =, le. Se pueden hacer comparaciones con otros valores o contra literales booleanos, de cadena, enteros o de coma flotante.
Sin embargo, una diferencia: los operadores de cadenas como eq, ne, lt, gt, ge, le
existen, ya que son seguros para XML, por lo que no necesitarían escaparse como <=
.
Se explica here
Una característica útil del EL es la capacidad de realizar comparaciones, ya sea entre números u objetos. Esta característica se usa principalmente para los valores de los atributos de etiquetas personalizadas, pero también se puede usar para escribir el resultado de una comparación (verdadera o falsa) en la página JSP. EL proporciona los siguientes operadores de comparación:
• == o eq
•! = O ne
• <o lt
•> o gt
• <= o le
•> = o geLa segunda versión de cada operador existe para evitar tener que usar referencias de entidad en la sintaxis XML de JSP; sin embargo, el comportamiento de los operadores es el mismo.