comment comparer la chaîne passée en paramètre
la méthode suivante ne fonctionne pas.
String str = "saveMe"
compareString(str)
def compareString(String str){
def str2 = "saveMe"
if(str2==${str}){
println "same"
}else{
println "not same"
}
}
aussi essayé
String str = "India"
compareString(str)
def compareString(String str){
def str2 = "india"
if( str2 == str ) {
println "same"
}else{
println "not same"
}
}
Cette ligne:
if(str2==${str}){
Devrait être:
if( str2 == str ) {
Le ${
et }
vous donnera une erreur d’analyse, car ils ne doivent être utilisés que dans Groovy Strings pour la modélisation
Cela devrait être une réponse
str2.equalsIgnoreCase (str)
Si vous ne souhaitez pas vérifier les majuscules ou les minuscules, vous pouvez utiliser la méthode suivante.
String str = "India"
compareString(str)
def compareString(String str){
def str2 = "india"
if( str2.toUpperCase() == str.toUpperCase() ) {
println "same"
}else{
println "not same"
}
}
Alors maintenant, si vous changez str en "iNdIa", cela fonctionnera toujours et vous réduirez ainsi les chances que vous fassiez une faute de frappe.
Le plus court chemin (imprimera "pas pareil" car la comparaison de chaînes est sensible à la casse):
def compareString = {
it == "india" ? "same" : "not same"
}
compareString("India")