有没有办法将抑制警告声明为方法的声明?

may*_*ysi 5 java android suppress-warnings

我有一个静态方法,它返回一个Magic Constant值.每次我在代码中访问该方法时,都会收到如下警告:

必须是以下之一:Toast.LENGTH_SHORT,Toast.LENGTH_LONG

当我添加@SuppressWarnings("MagicConstant")到我想要访问我的方法的方法,该方法返回Toast.LENGTH_SHORTToast.LENGTH_LONG警告消失.但每次我想使用静态方法时,我都必须添加这个抑制警告.这很烦人 有没有办法直接向我的方法添加此警告,该方法返回两个值中的一个?

我试过这个:

@SuppressWarnings("MagicConstant")
    public static int getToastDuration() {
        return ((statement) ? Toast.LENGTH_SHORT : Toast.LENGTH_LONG);
    }
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我仍然需要添加@SuppressWarnings("MagicConstant")我想要使​​用的方法getToastDuration()

我收到此警告的示例:

public void method() {
Toast.makeText(this,"text",Preferences.getToastDuration()).show();
}
Run Code Online (Sandbox Code Playgroud)

这个Toast类是Android的一个:http://developer.android.com/reference/android/widget/Toast.html

chr*_*ke- 2

makeText要回答您的实际问题,不,因为在代码分析器未正确识别Preferences.getToastDuration()实际上返回批准值之一的调用时会触发警告int。无论哪个工具向您发出警告(IDEA?),都未能足够深入地研究代码。我不认为这个MagicConstant警告是标准的,我会为此打开一个错误报告。