<T>
здесь указывает тип, подразумеваемый из аргументов. Итак:
public static <T> List<T> createList(T... args) {
List<T> ret = new ArrayList<T>(Arrays.asList(args));
}
можно использовать:
List<String> list = createList("one", "two", "three");
или
List<Integer> list2 = createList(1, 2, 3);