3 つ以上の分岐を持つ if ステートメントで、when 式に置換できるものを報告します。

例:


  fun checkIdentifier(id: String) {
      fun Char.isIdentifierStart() = this in 'A'..'z'
      fun Char.isIdentifierPart() = isIdentifierStart() || this in '0'..'9'

      if (id.isEmpty()) {
          print("Identifier is empty")
      } else if (!id.first().isIdentifierStart()) {
          print("Identifier should start with a letter")
      } else if (!id.subSequence(1, id.length).all(Char::isIdentifierPart)) {
          print("Identifier should contain only letters and numbers")
      }
  }

クイックフィックスを使用すると、if 式が when 式に変換されます。


  fun checkIdentifier(id: String) {
      fun Char.isIdentifierStart() = this in 'A'..'z'
      fun Char.isIdentifierPart() = isIdentifierStart() || this in '0'..'9'

      when {
          id.isEmpty() -> {
              print("Identifier is empty")
          }
          !id.first().isIdentifierStart() -> {
              print("Identifier should start with a letter")
          }
          !id.subSequence(1, id.length).all(Char::isIdentifierPart) -> {
              print("Identifier should contain only letters and numbers")
          }
      }
  }