如何将List <firsttype>转换为List <secondtype>? (Apache CollectionUtils)

时间:2018-01-06 19:51:39

标签: java apache

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

1 个答案:

答案 0 :(得分:0)

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

transform

另一种方法是使用java 8具有的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 } }); 机制,并使用将每个元素映射到其他元素的stream方法。

map