Подтвердить что ты не робот

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"
   }
 }    
4b9b3361

Ответ 1

Эта строка:

if(str2==${str}){

Должно быть:

if( str2 == str ) {

${ и } выдадут вам синтаксическую ошибку, так как они должны использоваться только внутри Groovy Строки для шаблонов

Ответ 2

Это должен быть ответ

str2.equalsIgnoreCase(str)

Ответ 3

Если вы не хотите проверять верхний или нижний регистр, вы можете использовать следующий метод.

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", он все равно будет работать, поэтому вы уменьшите вероятность того, что сделаете опечатку.

Ответ 4

Самый короткий путь (будет печатать "не одинаково", потому что сравнение строк зависит от регистра):

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

compareString("India")

Ответ 5

используйте переменную def, если вы хотите сравнить любую строку. Для этого типа сравнения используйте код ниже.

def variable name = null

SQL-запрос даст вам некоторое возвращение. Используйте функцию с типом возврата def.

def functionname (def variablename) {

имя возвращаемой переменной

}

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

}

Ответ 6

В Groovy, null == null получает значение true. Во время выполнения вы не узнаете, что произошло. В Java == сравнивается две ссылки.

Это является причиной большой путаницы в базовом программировании, безопасно ли использовать равные. Во время выполнения null.equals даст исключение. У вас есть шанс узнать, что пошло не так.

В частности, вы получаете два значения из ключей, которые не существуют на карте (картах), == делает их равными.