Кроме того, если вы уверены в том, что делаете, и до тех пор, пока вы уверены, что ваш код не может вызвать загрязнение кучи, вы можете отключить предупреждение.
Вы также можете принять во внимание, что ваш код не может создавать экземпляры массивов, что случайно также требует непроверенного исключения:
@SuppressWarnings("unchecked")
public static <T> T[] createArray(Class<T> anyClass, int size){
T[]result = null;
try{
result = (T[]) Array.newInstance(anyClass, size);
}catch(Exception e){
e.printStackTrace();
}
return result;
}
Вот как я это использовал:
public static void main(String[] args) throws Exception{
@SuppressWarnings("unchecked")
List<String> jediNames = (List<String>) createObject(ArrayList.class);
jediNames.add("Obiwan");
String[] moreJedis = createArray(String.class, 10);
System.out.println(moreJedis.length);
moreJedis[0] = "Anakin";
}