gpt4 book ai didi

java - 集合类型转换 util 方法是否已存在于任何 API 中?

转载 作者:行者123 更新时间:2023-12-01 07:35:16 25 4
gpt4 key购买 nike

interface TypeConverter<T, E> {
T convert(E e);
}
class CollectionUtil() {
public static <E> List<T> convertToList(List<E> fromList, TypeConverter<T, E> conv) {
{
if(fromList== null) return null;
List<T> newList = new ArrayList<T>(fromList.size())
for(E e : fromList)
{
newList.add(conv.convert(e));
}
return newList;
}
}

上面的代码解释了通过实现 String、Integer 的 TypeConverter 接口(interface)来从 String 列表转换为 Integer 列表。 API 中是否已经存在任何集合转换实用方法,例如要设置的列表等?

最佳答案

在 Guava 中:

List<String> strings = Arrays.asList("1", "2", "3");
List<Integer> integers =
Lists.transform(strings, new Function<String, Integer>() {
@Override
public Integer apply(String input) {
return Integer.parseInt(input);
}
});

Maven

<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>13.0</version>
</dependency>

Collections 15 package :

final List<Integer> integers =
ListUtils.transformedList(strings, new Transformer<String, Integer>() {
@Override
public Integer transform(String s) {
return Integer.parseInt(s);
}
});

Maven

<dependency>
<groupId>net.sourceforge.collections</groupId>
<artifactId>collections-generic</artifactId>
<version>4.01</version>
</dependency>

Functional Java

List<Integer> integers = List.list("1", "2", "3").map(new F<String, Integer>() {
@Override
public Integer f(String s) {
return Integer.parseInt(s);
}
});

Maven

<dependency>
<groupId>org.functionaljava</groupId>
<artifactId>functionaljava</artifactId>
<version>3.1</version>
</dependency>

请注意,该库使用不同的集合集。

...Scala 中的奖励:

Seq("1", "2", "3") map {_.toInt}

关于java - 集合类型转换 util 方法是否已存在于任何 API 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12939163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com