Java 如何使方法泛型以返回任何类型的列表

Java 如何使方法泛型以返回任何类型的列表,java,generics,Java,Generics,如何使此方法泛化以返回当前任何类型的列表,它将返回字符串的列表: public static List<String> splitCommaSeparatedStringToListAnyDataTypeArray(String s) { List<String> ints = new ArrayList<>(); if (isNull(s)) { return ints; } String[] split =

如何使此方法泛化以返回当前任何类型的
列表
,它将返回
字符串的
列表

public static List<String> splitCommaSeparatedStringToListAnyDataTypeArray(String s) {
    List<String> ints = new ArrayList<>();
    if (isNull(s)) {
        return ints;
    }
    String[] split = s.split(COMMA);
    for (String st : split) {
        ints.add(String.valueOf(st));
    }
    return ints;
}
公共静态列表拆分CommaseParatedStringToListanyDataTypeArray(字符串s){
List ints=new ArrayList();
如果(isNull(s)){
返回整数;
}
字符串[]split=s.split(逗号);
用于(字符串st:拆分){
ints.add(String.valueOf(st));
}
返回整数;
}

假设您使用Java 8,您可以使用a将
字符串
转换为给定类型,然后将方法重写为下一步:

public static <T> List<T> splitCommaSeparatedStringToList(String s, 
    Function<String, T> function) {
    if (isNull(s)) {
        return Collections.emptyList();
    }
    // Convert the array of String into a List of T
    return Arrays.stream(s.split(COMMA)).map(function).collect(Collectors.toList());
}
仅将列表替换为列表

公共静态列表拆分CommaseParatedStringToListanyDataTypeArray(字符串s){
List ints=new ArrayList();
如果(isNull(s)){
返回整数;
}
字符串[]split=s.split(逗号);
用于(字符串st:拆分){
ints.add(String.valueOf(st));
}
返回整数;
}

为什么要将其标记为-1?:@现在检查,希望它是清楚的,如果它不清楚,你不需要投票否决它。你可以问一下,不是我,我猜是有人发现不清楚我在使用Java 7,返回通配符类型没有帮助。
public static <T> List<T> splitCommaSeparatedStringToList(String s, 
    Function<String, T> function) {
    if (isNull(s)) {
        return Collections.emptyList();
    }
    return FluentIterable.from(Arrays.asList(s.split(COMMA))).transform(function).toList();
}
public static List<?> splitCommaSeparatedStringToListAnyDataTypeArray(String s) {
    List<String> ints = new ArrayList<>();
    if (isNull(s)) {
        return ints;
    }
    String[] split = s.split(COMMA);
    for (String st : split) {
        ints.add(String.valueOf(st));
    }
    return ints;
}