java - 将 List<MyDataType> 转换为 List<String> 的更好方法

标签 java

我想知道是否有更好的方法来转换整个 ListCollections,就像我在以下代码示例中展示的那样:

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;
    }

每当我产生这样的方法时,我就会开始思考,难道没有更好的方法吗?我的第一个想法可能是创建一个包含一些genericsreflections 的解决方案,但这似乎有点过大并且在性能方面可能有点慢?

最佳答案

看看谷歌的 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/

相关文章:

Java:包含内部枚举的接口(interface);在实现类中扩展功能

java - 无法在 String java 中替换?

java - 对象引用变量重新赋值

java - 类未找到异常 com.mysql.jdbc.driver 即使我添加了 jar 文件

java - 键盘上的 Control 键 + M 可触发 SWT 中树项目的双击功能

java - Google 登录在启用 Play 游戏服务的情况下无法使用,但在未启用 Play 游戏服务的情况下也可以使用

java - 将 double 值从字符串添加到数组列表

java - SocketTimeoutExceptions 的来源

java - 如何在不使用 ComponentScan 的情况下启动 Spring Boot Web 应用程序

java - 魔法值不兼容错误