IT박스

Groovy-문자열을 비교하는 방법?

itboxs 2020. 11. 23. 07:56
반응형

Groovy-문자열을 비교하는 방법?


매개 변수로 전달 된 문자열을 비교하는 방법

다음 방법은 작동하지 않습니다.

 String str = "saveMe"

 compareString(str)

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

또한 시도

 String str = "India"

 compareString(str)

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

이 줄 :

if(str2==${str}){

해야한다:

if( str2 == str ) {

${하고 }그들은 단지 템플릿에 대한 그루비 문자열 내에서 사용되어야한다, 당신에게 구문 분석 오류를 줄 것이다


이것은 대답이어야합니다

str2.equalsIgnoreCase (str)


대문자 또는 소문자를 확인하지 않으려면 다음 방법을 사용할 수 있습니다.

String str = "India" 
compareString(str) 

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

이제 str을 "iNdIa"로 변경해도 여전히 작동하므로 오타를 만들 가능성이 낮아집니다.


가장 짧은 방법 (문자열 비교는 대소 문자를 구분하므로 "같지 않음"으로 인쇄) :

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

compareString("India")

그루비에서 null == null얻는다 true. 런타임에는 무슨 일이 일어 났는지 알 수 없습니다. Java에서는 ==두 참조를 비교합니다.

This is a cause of big confusion in basic programming, Whether it is safe to use equals. At runtime, a null.equals will give an exception. You've got a chance to know what went wrong.

Especially, you get two values from keys not exist in map(s), == makes them equal.


use def variable, when you want to compare any String. Use below code for that type of comparison.

def variable name = null

SQL query give you some return. Use function with return type def.

def functionname(def variablename){

return variable name

}

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

}

참고URL : https://stackoverflow.com/questions/11984350/groovy-how-to-compare-the-string

반응형