ΠΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΠ΄Π°Π΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ 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
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ, Π½ΠΎ
Π½Π΅. ΠΡΠ°ΠΊ, Β«Π²ΡΠ΅Β» Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«Π²ΡΠ΅Β». ΠΡΠΎ ΡΠΎΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ: