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;
}