Dieser Code erzeugt eine Warnung, wenn er mit javac kompiliert wird:
public class WarningDemo {
List<Integer> makeList() {
return null;
}
@Getter(lazy=true) private final List<Integer> list = makeList();
}
Mit -Xlint
bekomme ich
src/WarningDemo.java:10: warning: [unchecked] unchecked cast
@Getter(lazy=true) private final List<Integer> list = makeList();
^
required: List<Integer>
found: Object
Der deomboked Code hat @java.lang.SuppressWarnings("all")
, aber entweder hilft es nicht oder die Kompilierung funktioniert anders.
So haben wir das gelöst:
@Getter(lazy = true, onMethod = @__({@SuppressWarnings("unchecked")}))
Das hilft zwar, aber
@Getter(lazy = true, onMethod = @__({@SuppressWarnings("all")}))
nicht. "alle" bedeutet also gar nicht "alle". Auch das hilft:
@Getter(lazy = true, onMethod = @__({@SuppressWarnings({"unchecked", "all"})}))
Duplikat von https://github.com/rzwitserloot/lombok/issues/880
Hilfreichster Kommentar
Das hilft zwar, aber
nicht. "alle" bedeutet also gar nicht "alle". Auch das hilft: