-1

我遇到了这个疑问:这两种获取布尔值的方法有什么区别?最终结果是一样的,但是使用其中一种有什么优点和缺点呢?最常用的方法是什么?这种编码风格的最佳实践是什么?
动态布尔表达式变量

...
public class MainActivity extends AppCompatActivity {
    private boolean isVersionM = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
    ....
    private void onCreate(Bundle savedInstanceState) {
        ....
        if (isVersionM) {
            ...
        }
        else {
            ...
        }
        ...
    }
    ....
}

布尔函数

...
public class MainActivity extends AppCompatActivity {
    ....
    private void onCreate(Bundle savedInstanceState) {
        ....
        if (isVersionM()) {
            ...
        }
        else {
            ...
        }
        ...
    }
    ...
    private boolean isVersionM() {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
    }
    ...
}
4

1 回答 1

0

这是做一件事的两种方法。但是,如果您有一些运行时间值要计算,那么您将需要第二种方法。

这种编码风格的最佳实践是什么

其次,因为您不需要更改运行时计算方法的样式,如以下方法。

private boolean isUserLoggedIn() {
    return PreferenceManager.getString("token") != null;
}
于 2018-11-20T13:33:20.130 回答