我有2个变量,根据if中的某些情况,我要么使用第一个变量 variable1 的代码,要么使用第二个 variable2 的代码
这两个变量都被声明为final ,我只在条件下分配它们,并且我对它们使用不同的语句。
关于如何禁用这两个语句的android警告的任何想法?
有没有其他方法可以做到这一点,而不使用断言或检查变量是否值为null 我在if或else中初始化它后
我非常确定我的代码确实有用,并且我无法使用未初始化的变量,我更倾向于只禁用这些语句的警告,而不是整个项目的警告。
哪种方法最好的实现呢?
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
}
}
}
答案 0 :(得分:2)
如果你必须禁止它,请使用@SuppressWarnings("InstanceVariableMayNotBeInitialized")
,抑制" ALL"有点矫枉过正。
答案 1 :(得分:1)
var images = [];
$(document).on('change', '[type=checkbox]', function(e) {
if($(this).is(":checked")) {
images.push({id:$(this).attr('value'), src:$(this).parent().prev().attr('src')});
}
}
$('#next').click(function(){
var response = sessionStorage.setItem('selectedGridImages', JSON.stringify(images));
}
变量必须在构造函数中分配一次或在其中分配。这是一条Java规则,您无法禁用错误警告。但是,如果您删除final
,则错误将消失。
出于某种原因,您可能希望禁用所有Android lints,即使用final
到您的班级或方法:
@SuppressWarnings("ALL")
希望有所帮助!