我需要创建方法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-utils,
http://apachecommonstipsandtricks.blogspot.ru/2009/01/examples-of-functors-transformers.html)我看到主要方法中人们如何覆盖rhis方法,但是如何编写方法以及如何使用它?
答案 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