我有一个返回值的静态方法 Magic Constant . 每次我访问我的代码中的方法时,我都会收到这样的警告:
Must be one of: Toast.LENGTH_SHORT, Toast.LENGTH_LONG
当我将 @SuppressWarnings("MagicConstant")
添加到我想要访问返回 Toast.LENGTH_SHORT
或 Toast.LENGTH_LONG 的方法的方法时
警告消失。
但是每次我想使用我的静态方法时,我都必须添加这个 suppresswarnings。这很烦人。有没有办法将此警告直接添加到返回两个值之一的方法中?
我试过这个:
@SuppressWarnings("MagicConstant")
public static int getToastDuration() {
return ((statement) ? Toast.LENGTH_SHORT : Toast.LENGTH_LONG);
}
但这行不通。
我仍然必须将 @SuppressWarnings("MagicConstant")
添加到我要使用的方法 getToastDuration()
我收到此警告的示例:
public void method() {
Toast.makeText(this,"text",Preferences.getToastDuration()).show();
}
Toast
类是 Android 中的一个:http://developer.android.com/reference/android/widget/Toast.html
最佳答案
要回答您的实际问题,不,因为警告是在代码分析器未正确识别 Preferences.getToastDuration()
的 makeText
调用中触发的实际上确实会返回批准的 int
值之一。无论哪种工具向您发出警告(IDEA?)都未能对代码进行足够深入的研究。我不认为 MagicConstant
警告是标准的,我会为此打开一个错误报告。
关于java - 有没有办法对方法的声明声明 suppresswarnings ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18313829/