添加对象字段到列表的最佳方法

huangapple go评论68阅读模式
英文:

Best way to add objects' field to a list

问题

我有这个GameType类:

public class GameType {
    private final String name;

    public GameType(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

我有一个游戏类型的列表,基本上我想打印所有我的GameType类的name字段,我正在使用Java 8,到目前为止我已经做了这些:

List<String> list = new ArrayList<>();
gameTypes.forEach(gameType -> list.add(gameType.getName()));
System.out.println(list);

所以,我正在询问的是,有没有更好的方法来做到这一点?

英文:

So I have this GameType class:

public class GameType {
    private final String name;

    public GameType(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

and I have a list of my game types, so, basically I want to print all of my GameType classes' name field and I am using Java 8, this is what I have done so far:

List&lt;String&gt; list = new ArrayList&lt;&gt;();
gameTypes.forEach(gameType -&gt; list.add(gameType.getName()));
System.out.println(list);

So, what I am asking is, is there a better way to do that?

答案1

得分: 2

你可以尝试这样做:

System.out.println(gameTypes.stream()
                             .map(GameType::getName)
                             .collect(Collectors.toList()));
英文:

You can try this:

System.out.println(gameTypes.stream()
                             .map(GameType::getName)
                             .collect(Collectors.toList()));

huangapple
  • 本文由 发表于 2020年10月4日 19:54:27
  • 转载请务必保留本文链接:https://go.coder-hub.com/64194274.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定