我想知道是否有更好的方法来转换整个 List
或 Collections
,就像我在以下代码示例中展示的那样:
public static List<String> getAllNames(List<Account> allAccounts) {
List<String> names = new ArrayList<String>(allAccounts.size());
for (Account account : allAccounts) {
names.add(account.getName());
}
return names;
}
每当我产生这样的方法
时,我就会开始思考,难道没有更好的方法吗?我的第一个想法可能是创建一个包含一些generics
和reflections
的解决方案,但这似乎有点过大并且在性能方面可能有点慢?
最佳答案
看看谷歌的 Guava图书馆
应该是这样的
final List<String> names = Lists.transform(myObjs, new Function<MyObject, String>() {
public String apply(final MyObject input) {
return input.getName();
}
});
关于java - 将 List<MyDataType> 转换为 List<String> 的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13705109/