gpt4 book ai didi

java - 如何将 List 转换为 List? (Apache CollectionUtils)

转载 作者:太空宇宙 更新时间:2023-11-04 10:48:18 31 4
gpt4 key购买 nike

我需要创建方法transformer它可以改变对象的类型。例如:我有List<Integer> sampl e 更改为 List<String> sample.如何编写方法来做到这一点?我真的不明白,因为我知道apache已经有rhi方法 -> CollectionUtils.transform(); (full way - org.apache.commons.collections4.CollectionUtils.transform(); ,但我无法理解它是如何工作的以及如何编写包含所有内容的方法。在示例中( http://www.baeldung.com/apache-commons-collection-utils , http://apachecommonstipsandtricks.blogspot.ru/2009/01/examples-of-functors-transformers.html )我看到人们如何在主方法中重写该方法,但是如何编写方法以及如何使用它?

最佳答案

根据您的链接( http://www.baeldung.com/apache-commons-collection-utils ),您需要使用 CollectionUtils.collect 方法,并提供一个 Transformer 作为该方法的第二个参数。我猜想collect函数会迭代元素,并为每个元素调用transform方法,该方法从类型A获取元素并从类型B返回元素。总的来说,它看起来像这样:

List<String>listOfString = CollectionUtils.collect(listOfIntegers, new 
Transformer<Integer, String>() {
public String transform(Integer numbers) {
//Do whatever you need to transform it to a String and return the String.
return number.toString() // a suggestion
}
});

另一种方法是仅使用 java 8 具有的 stream 机制,并使用 map 方法将每个元素映射到其他元素。

listOfNum.stream().map(integer -> integer.toString()).collect(Collectors.toList());

关于java - 如何将 List<firstType> 转换为 List<SecondType>? (Apache CollectionUtils),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48131275/

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