Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当条件为真且我不';我不想实施任何事情?_Java_Android_If Statement - Fatal编程技术网

Java 当条件为真且我不';我不想实施任何事情?

Java 当条件为真且我不';我不想实施任何事情?,java,android,if-statement,Java,Android,If Statement,我不想调用任何函数用户单击默认选项。现在我的问题是,我应该将其留空还是使用return或其他方法 if (myPref.getString("font_style_key", "default").equals("default")){ //return; }else { if (myPref.getString("font_style_key", "default").equals("font_1")){ textView.

我不想调用任何函数用户单击默认选项。现在我的问题是,我应该将其留空还是使用return或其他方法

if (myPref.getString("font_style_key", "default").equals("default")){

        //return;

    }else {
        if (myPref.getString("font_style_key", "default").equals("font_1")){

            textView.setTypeface(...);

        }else if (myPref.getString("font_style_key", "default").equals("font_2")){

            textView.setTypeface(...);

        }

否定条件是有意义的,这样就消除了
else
子句:

if (!myPref.getString("font_style_key", "default").equals("default")) {
    if (myPref.getString("font_style_key", "default").equals("font_1")) {
        textView.setTypeface();
    } else if (myPref.getString("font_style_key", "default").equals("font_2")) {
        textView.setTypeface();
    }
}

看起来这是一个完美的语句用例。基于一个特定的值,您将有多个选项,它通常是一个更干净的代码

String fontStyle = myPref.getString("font_style_key", "default");

switch(fontStyle) {
    case "font_1":
        textView.setTypeface(...);
        break;
    case "font_2":
        textView.setTypeface(...);
        break;
    // We could add this line if we wanted some default behaviour
    default:
        ...
}

另外,请注意多次调用
myPref.getString(“font\u-style\u-key”,“default”)
将始终返回相同的值。您可以将其存储在变量中并节省一些时间

谁说您“必须”有一个空的if?只需在当前条件的负面版本中更改它,并删除else块。如果您发现正面条件(如问题中所示)比负面条件(如Eran的回答中所示)更自然,我认为保持代码原样没有什么错。我没有使用注释掉的
return
语句,而是在这里添加了类似
//什么都不做
的注释。先生,我知道switch case是更好的选择。但是,先生,您能告诉我,如果用户点击默认选项,并且没有“默认”选项,那么会发生什么?它会显示任何错误吗?如前所述:
默认部分处理所有未由其中一个case部分显式处理的值