http://aoking.hatenablog.jp/entry/20100427/1272326219での主張は public class Sample { public static void main(String[] args) { List<Integer> list = getList(); System.out.println(list); } public static <T> List<T> getList() { List<T> list = new ArrayList<T>(); list.add((T)"string"); list.add((T)Integer.valueOf(1)); list.add((T)new Object()); return list; } } といったように型変数Tにキャストを行った場合に「このコードはコンパイルエラーは発生しない。