gpt4 book ai didi

java - 禁用警告变量可能尚未初始化?

转载 作者:搜寻专家 更新时间:2023-11-01 08:36:46 24 4
gpt4 key购买 nike

我有 2 个变量,根据某些情况,在 if else 中,我要么使用第一个变量 variable1 的代码,要么使用第二个 variable2 的代码.

这两个变量都声明为 final,我只在条件下分配它们,并对它们使用不同的语句。

关于如何禁用这两个语句的 android 警告的任何想法?

在 if 或 else 中初始化变量后,有没有其他方法可以在不使用 asserts检查变量是否为 null 的情况下执行此操作?

我非常确定我的代码确实有效并且我无法使用未初始化的变量,我更喜欢一种方法来仅禁用这些语句而不是整个项目的警告。

哪种方法是实现它的最佳方法?

private static class foo {

private final objectwhatever variable1;
private final objectwhatever variable2;

public foo(){

if ( condition 1)
{
variable1 = new objectwhatever();
statements in variable1
}

else ( condition 2)
{
variable2 = new objectwhatever();
statements in variable2
}

}
}

最佳答案

final 变量必须在构造函数中或在构造函数外赋值一次。这是 Java 规则,您不能禁用错误警告。但是,如果您删除 final,错误就会消失。

出于某种原因,您可能希望禁用所有 Android lints,即通过对您的类或方法使用 @SuppressWarnings("ALL"):

@SuppressWarnings("ALL")
private static class foo {

private objectwhatever variable1;
private objectwhatever variable2;
...
}

希望对您有所帮助!

关于java - 禁用警告变量可能尚未初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36128630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com