| import java.util.*; |
| |
| class ArraysUtil { |
| public static <S, T extends S> List<S> asList(T... a) { |
| List<S> result = new ArrayList<S>(); |
| result.addAll(Arrays.asList(a)); |
| return result; |
| } |
| |
| public static <S, T extends S> List<S> asCollection(T... a) { |
| return ArraysUtil.<S, T>asList(a); |
| } |
| |
| public static void main(String[] args) { |
| asCollection(); |
| } |
| } |
| |
| class ArraysUtil1 { |
| public static <S, T> List<S> asList(T... a) { |
| return null; |
| } |
| |
| public static List<String> asCollection(Integer... a) { |
| return ArraysUtil1.<warning descr="Explicit type arguments can be inferred"><String, Integer></warning>asList(a); |
| } |
| |
| public static void main(String[] args) { |
| asCollection(); |
| } |
| } |