매개 변수로 전달 된 문자열을 비교하는 방법
다음 방법은 작동하지 않습니다.
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.equals (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에서 ==
두 참조를 비교합니다.
이것이 기본 프로그래밍에서 큰 혼란의 원인이됩니다. 런타임에 null.equals는 예외를 제공합니다. 무엇이 잘못되었는지 알 수있는 기회가 있습니다.
특히 맵에 존재하지 않는 키에서 두 값을 ==
가져와 동일하게 만듭니다.
답변
문자열을 비교하려면 def 변수를 사용하십시오. 해당 유형의 비교를 위해 아래 코드를 사용하십시오.
정의 변수 이름 = null
SQL 쿼리는 약간의 결과를 제공합니다. 반환 유형 def와 함께 함수를 사용하십시오.
def functionname (def 변수 이름) {
반환 변수 이름
}
if ( “$ 변수 이름”== “true”) {
}