Java 当条件为真且我不';我不想实施任何事情?
我不想调用任何函数用户单击默认选项。现在我的问题是,我应该将其留空还是使用return或其他方法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.
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部分显式处理的值