【问题标题】:Changing switch statement to if statement将 switch 语句更改为 if 语句
【发布时间】:2015-10-08 15:39:33
【问题描述】:

我想将此 switch 语句更改为 if 语句或 while 循环。 我怎样才能做到这一点? 请注意这段使用 Android Studio 的代码。

public void onClick(View v) {
    switch(v.getId()){
    case R.id.button:
        Log.v(TAG, "verbose");
        break;
    case R.id.button2:
        Log.d(TAG, "Debug");
        break;
    case R.id.button3:
        Log.i(TAG, "Information");
        break;
    case R.id.button4:
        Log.w(TAG, "Warning");
        break;
    case R.id.button5:
        Log.e(TAG,"Error");
        break;
    }
}

【问题讨论】:

  • 我不明白这个问题,而不是开关只使用 if's
  • switch case 这里是一个不错的选择,为什么你想要 if...else
  • if用于选择bn 2选项,在多个选项之间使用switch。在多个选项的情况下switch的性能更好。

标签: android if-statement switch-statement


【解决方案1】:

我建议你使用现有的switch 语句,但如果你真的想要if,你可以这样做:

 public void onClick(View v) {
    int id = v.getId();
    if (id == R.id.button) {
        Log.v(TAG, "Verbose");
    } else if (id == R.id.button2) {
        Log.d(TAG, "Debug");
    } else if (id == R.id.button3) {
        Log.i(TAG, "Information");
    } else if (id == R.id.button4) {
        Log.w(TAG, "Warning");
    } else if (id == R.id.button5) {
        Log.e(TAG, "Error");
    }    
}

【讨论】:

    【解决方案2】:

    如果您使用的是 AndroidStudio,则可以使用 Intent

    1. 将光标放在switch 关键字上
    2. alt+enter(在 Mac 上,不确定 Windows)
    3. 选择Replace 'switch' with 'if'

    注意:你可以用同样的方法替换 if 来切换。

    【讨论】: