ينتج عن هذا الرمز تحذير عند تجميعه باستخدام javac:
public class WarningDemo {
List<Integer> makeList() {
return null;
}
@Getter(lazy=true) private final List<Integer> list = makeList();
}
مع -Xlint
أحصل عليه
src/WarningDemo.java:10: warning: [unchecked] unchecked cast
@Getter(lazy=true) private final List<Integer> list = makeList();
^
required: List<Integer>
found: Object
تحتوي الشفرة المبطنة على @java.lang.SuppressWarnings("all")
، لكنها إما لا تساعد أو أن التجميع يعمل بشكل مختلف.
إليك كيف حللنا هذا:
@Getter(lazy = true, onMethod = @__({@SuppressWarnings("unchecked")}))
هذا يساعد بالفعل ، ولكن
@Getter(lazy = true, onMethod = @__({@SuppressWarnings("all")}))
لا. لذا فإن "الكل" لا تعني "الكل" على الإطلاق. هذا يساعد أيضًا:
@Getter(lazy = true, onMethod = @__({@SuppressWarnings({"unchecked", "all"})}))
نسخة مكررة من https://github.com/rzwitserloot/lombok/issues/880
التعليق الأكثر فائدة
هذا يساعد بالفعل ، ولكن
لا. لذا فإن "الكل" لا تعني "الكل" على الإطلاق. هذا يساعد أيضًا: