documentacion docs groovy

groovy - docs - grails documentation 2.4 4



Groovy: cómo comparar la cuerda? (6)

En Groovy, null == null obtiene un true . En tiempo de ejecución, no sabrás lo que sucedió. En Java, == está comparando dos referencias.

Esta es una causa de gran confusión en la programación básica, si es seguro usar iguales. En tiempo de ejecución, un null.equals dará una excepción. Tienes la oportunidad de saber qué salió mal.

Especialmente, obtienes dos valores de las claves que no existen en los mapas, == hace iguales.

cómo comparar la cadena que se pasa como un parámetro

el siguiente método no está funcionando.

String str = "saveMe" compareString(str) def compareString(String str){ def str2 = "saveMe" if(str2==${str}){ println "same" }else{ println "not same" } }

también intenté

String str = "India" compareString(str) def compareString(String str){ def str2 = "india" if( str2 == str ) { println "same" }else{ println "not same" } }


Esta debería ser una respuesta

str2.equalsIgnoreCase (str)


Esta línea:

if(str2==${str}){

Debiera ser:

if( str2 == str ) {

Los ${ y } le darán un error de análisis, ya que solo se deben usar dentro de Groovy Strings para plantillas


La forma más corta (se imprimirá "no igual" porque la comparación de cadenas distingue entre mayúsculas y minúsculas):

def compareString = { it == "india" ? "same" : "not same" } compareString("India")


Si no desea verificar en mayúsculas o minúsculas, puede usar el siguiente método.

String str = "India" compareString(str) def compareString(String str){ def str2 = "india" if( str2.toUpperCase() == str.toUpperCase() ) { println "same" }else{ println "not same" } }

Entonces, si cambias str a "iNdIa", seguirá funcionando, por lo que reduces la probabilidad de que hagas un error tipográfico.


use la variable def, cuando quiera comparar cualquier cadena. Use el código a continuación para ese tipo de comparación.

def variable name = null

La consulta SQL te da algo de retorno. Use la función con return type def.

def functionname (def variablename) {

nombre de la variable de retorno

}

if ("$ variable name" == "true") {

}