Java Android kotlin如何在没有中断语句的情况下具有切换条件

Java Android kotlin如何在没有中断语句的情况下具有切换条件,java,android,kotlin,Java,Android,Kotlin,我在Java中使用了开关,没有中断语句。当我皈依科特林时。它在时放入了,我只测试并执行了传递给该函数的条件 下面是JAVA的代码 switch (version) { case 1: onCreate(db); case 2: db.execSQL("CREATE TABLE IF NOT EXISTS "); db.execSQL("CREATE

我在Java中使用了
开关
,没有中断语句。当我皈依科特林时。它在时放入了
,我只测试并执行了传递给该函数的条件

下面是JAVA的代码

 switch (version) {
            case 1:
                onCreate(db);

            case 2:
                db.execSQL("CREATE TABLE IF NOT EXISTS ");
                db.execSQL("CREATE TABLE IF NOT EXISTS ");
        }
KOTLIN

 when (version) {
                1 -> {
                    onCreate(db)
                }

                2 -> {
                    db.execSQL("CREATE TABLE IF NOT EXISTS ")
                    db.execSQL("CREATE TABLE IF NOT EXISTS ")
                }
            }
那么:

if (version <= 1) {
    onCreate(db)
}

if (version <= 2) {
    db.execSQL("CREATE TABLE IF NOT EXISTS ")
    db.execSQL("CREATE TABLE IF NOT EXISTS ")
}
if(版本如何:

if (version <= 1) {
    onCreate(db)
}

if (version <= 2) {
    db.execSQL("CREATE TABLE IF NOT EXISTS ")
    db.execSQL("CREATE TABLE IF NOT EXISTS ")
}

if(version当使用kotlin中的范围阅读更多信息时,您始终可以自定义

     when {
            version in 0..1  -> {
                onCreate(db)
            }
            version in 1..2 -> {
                //do something else
                onCreate(db)
                dbExe(db)
            }
            else ->{
               //handle unexpected here    
            }
        }

fun onCreate(val db: SQLiteOpenHelper){
  //oncreate goes here
}

fun dbExe(val db: SQLiteOpenHelper){
  // execute sql statement goes here
     db.execSQL("CREATE TABLE IF NOT EXISTS ")
     db.execSQL("CREATE TABLE IF NOT EXISTS ")
}

当使用kotlin中的范围阅读更多信息时,您始终可以自定义

     when {
            version in 0..1  -> {
                onCreate(db)
            }
            version in 1..2 -> {
                //do something else
                onCreate(db)
                dbExe(db)
            }
            else ->{
               //handle unexpected here    
            }
        }

fun onCreate(val db: SQLiteOpenHelper){
  //oncreate goes here
}

fun dbExe(val db: SQLiteOpenHelper){
  // execute sql statement goes here
     db.execSQL("CREATE TABLE IF NOT EXISTS ")
     db.execSQL("CREATE TABLE IF NOT EXISTS ")
}

根据,kotlin的“故障排除”功能尚不存在,但他们希望在某个时候实现“继续”。根据的可能重复,kotlin的“故障排除”功能尚不存在,但他们希望实现“继续”在某一点上。可能的重复不是很平行。@shmosel它似乎是JetBrains推荐的模仿java风格故障排除的方法:这不是很平行。@shmosel它似乎是JetBrains推荐的模仿java风格故障排除的方法:不。这不起作用,因为我不想再次执行同一个case语句这行不通,因为我不希望每次都执行相同的case语句。