这是我第一次发帖,因为我找不到答案。我的if/else语句有点奇怪。我的代码在过去的一周里运行得很好,但是最近它一直告诉我一个声明总是正确的?
我的代码如下:

    int checking = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (checking != 1) {
        speaker.setChecked(true);
    } else if (checking == 1) {
        speaker.setChecked(false);
    }

}

这说明checking == 1总是正确的,这是有意义的,但是如果我将它切换到:
if (checking == 1) {
    speaker.setChecked(true);
} else if (checking != 1) {
    speaker.setChecked(false);
}

这说明checking != 1也总是正确的。有人能帮忙吗?

最佳答案

您看到此警告的原因是:
您已设置int checking = 1并且正在检查:
if (checking != 1)它总是true
checking == 1也总是true
由于这个原因,其他else if条件根本不会执行。
只有在运行时或在编译时使用某些条件更改checking的值时,才会删除此警告。
如果您的目的只是设置speaker.setChecked(),则可以执行以下操作:
speaker.setChecked(checking == 1)
注意:这不会删除警告

10-08 08:17