禁用警告变量可能尚未初始化?
Disabling warning variable might not have been initialized?
我有 2 个变量,根据 if else 中的某些情况,我要么使用第一个变量 variable1 的代码,要么使用第二个 [=23] 的代码=]变量2.
这两个变量都声明为 final,我只在条件下分配它们,并对它们使用不同的语句。
知道如何禁用这两个语句的 android 警告吗?
有没有其他方法可以不使用 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
}
}
}
A final
变量必须在构造函数中或在构造函数外赋值一次。这是一个 Java 规则,您不能禁用错误警告。但是,如果您删除 final
,错误将消失。
出于某种原因,您可能希望禁用所有 Android lints,即通过将 @SuppressWarnings("ALL")
用于您的 class 或方法:
@SuppressWarnings("ALL")
private static class foo {
private objectwhatever variable1;
private objectwhatever variable2;
...
}
希望对您有所帮助!
如果你必须压制它,使用@SuppressWarnings("InstanceVariableMayNotBeInitialized")
,压制"ALL"有点矫枉过正。
我有 2 个变量,根据 if else 中的某些情况,我要么使用第一个变量 variable1 的代码,要么使用第二个 [=23] 的代码=]变量2.
这两个变量都声明为 final,我只在条件下分配它们,并对它们使用不同的语句。
知道如何禁用这两个语句的 android 警告吗?
有没有其他方法可以不使用 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
}
}
}
A final
变量必须在构造函数中或在构造函数外赋值一次。这是一个 Java 规则,您不能禁用错误警告。但是,如果您删除 final
,错误将消失。
出于某种原因,您可能希望禁用所有 Android lints,即通过将 @SuppressWarnings("ALL")
用于您的 class 或方法:
@SuppressWarnings("ALL")
private static class foo {
private objectwhatever variable1;
private objectwhatever variable2;
...
}
希望对您有所帮助!
如果你必须压制它,使用@SuppressWarnings("InstanceVariableMayNotBeInitialized")
,压制"ALL"有点矫枉过正。