爲什麼我的方案中的第二個測試在SuppressWarnings
行上的語法錯誤The value for annotation attribute SuppressWarnings.value must be an array initializer
?註釋參數:顯式與隱式字符串數組
public class AnnotationTest {
private static final String supUnused = "unused";
private static final String supDeprecation = "deprecation";
private static final String[] suppressArray = { "unused", "deprecation" };
public static void main(String[] args) {
// Test 1
@SuppressWarnings({ supUnused, supDeprecation })
int a = new Date().getDay();
// Test 2
@SuppressWarnings(suppressArray) // syntax error
int b = new Date().getDay();
}
}
如果您將參數作爲兩個單個常量傳遞,它將起作用。
如果您使用數組常量傳遞它,則會出現語法錯誤。
這個錯誤的解釋是什麼?
[SuppressWarnings文檔】(http://docs.oracle.com/javase/7/docs/api/java/lang/SuppressWarnings.html)力量幫助 – Baby
@RafaEl:謝謝你的文檔鏈接!關鍵是,我已經知道,你必須使用'SupressWarnings';) – bobbel
是的,當然我知道你知道這一點。但..好吧,我不知道爲什麼我給你的鏈接:D – Baby