我尝试将 List 中的每个 TestClass
对象的值获取到新的字符串列表。
例如:
public class TestClass {
private String testValue;
// setter and getter
}
现在在不同的类(class)我这样做:
List<TestClass> testClassList = getTestClassList();
List<String> testStringList = new ArrayList<String>();
for( TestClass testClass : testClassList ) {
testStringList.add(testClass.getTestValue());
}
return testStringList;
我想知道有没有最简单的方法可以做到这一点?
最佳答案
如Maroun提到过,在不使用第三方库的情况下,您遵循的方法是正确的方法。您需要遍历列表来填充另一个列表。
但是如果您不介意使用第三方库,
您可以使用 Apache 的 CollectionUtils.collect()
方法,以及 TransformerUtils.invokerTransformer()
方法。示例代码如下所示:
Collection<String> testValuesList = CollectionUtils.collect(testClassList, TransformerUtils.invokerTransformer("getTestValue"));
<小时/>
甚至还有 Guava 的 Lists.transform()
可以使用,虽然我没有亲自测试过。
关于java - 从类列表获取值到字符串列表的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21430744/