英文:
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<String> list = new ArrayList<>();
gameTypes.forEach(gameType -> 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()));
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论