当条件与科尔特忽略情况

问题描述

我知道我们可以使用忽略大小写来写if,else if,else if

if (someString.equals("otherString",ignoreCase = true)) {
}

对此我很好奇,如何在不考虑大小写的情况下编写when(在Java中是一个开关)条件。

解决方法

有两种选择:

  1. 将字符串转换为小写(或大写):

    when (someString.toLowerCase()) {
        "otherString1".toLowerCase() -> { /*...*/ }
        "otherString2".toLowerCase() -> { /*...*/ }
    }
    
  2. 直接使用equals方法:

     when {
         someString.equals("otherString1",ignoreCase = true) -> { /*...*/ }
         someString.equals("otherString2",ignoreCase = true) -> { /*...*/ }
     }