This program: import java.util.ArrayList; import java.util.List; class X { @SafeVarargs static void m(List<String>... ls) { Object[] o = ls; // 2 warning here o[0] = new ArrayList<Integer>(); System.out.println(o); } } Generates two 'varargs' warnings when compiled with the -Xlint:varargs flag enabled. OUTPUT: Test.java:7: warning: [varargs] Varargs method could cause heap pollution from non-reifiable varargs parameter ls Object[] o = ls; // 2 warning here ^ Test.java:7: warning: [varargs] Varargs method could cause heap pollution from non-reifiable varargs parameter ls Object[] o = ls; // 2 warning here ^ 2 warnings
|