getStringExtra 在开关中?

getStringExtra in a switch?

我有这个代码:

String Tunet = intent.getStringExtra("Tunet");

if (Tunet.equals("Yes")  ){
    tv22.setText(" okay");
} else {
    tv22.setText("please answer");
}

我想在 switch 语句中执行此代码,类似这样,但我不知道该怎么做。

switch(Tunet.equals)
case: Yes
   // do something
case: No
   // do something
case: I don't know
   // do something

再这样下去,怎么办?感谢您的帮助。

使用else if

if (Tunet.equals("Yes")  ){
        tv22.setText(" okay");
    } else if (Tunet.equals("No")){
        tv22.setText("please answer");
    }  else if (Tunet.equals("I don't know ")){
        tv22.setText("TEXT");
    }

这是解决您的问题的方法,希望对您有所帮助。

    String Tunet = intent.getStringExtra("Tunet");
    int _Case = -1;
    if (Tunet.equals("yes")) {

        _Case = 1;
    } else if(Tunet.equals("no")) {
        _Case = 2;
    }

    switch (_Case){
        case 1:
        // code if if Tunet is yes
            break;
        case 2:
            //code for no
            break;
    }

在 JDK 7 发布之前,无法在 switch 中使用字符串作为参数。 Oracle 意识到了这个缺点,如果您正在使用 jdk 7.0+,您可以将代码编写为:

switch(Tunet.equals)
{
case: Yes
      // do something
      break;
case: No
      // do something
      break;
default: I don't know
      // do something
}

如果您使用 Java SE 7+ 编译您的项目,您可以直接在您的字符串上进行切换,因此这是一个有效的代码

switch(Tunet){
    case "Yes":
    break;
    case "No":
    break;
    default:
    break;
}

查看更多here

从 JDK 7.0 开始,您可以简单地,

switch(intent.getStringExtra("Tunet")){
    case "A":
    break;

    default:
    break; 
}