【发布时间】:2018-10-07 17:00:38
【问题描述】:
我有一个具有一种属性类型的对象列表。我想过滤该列表以仅包含其值在枚举列表中的那些对象。
这是上面描述的 Java 程序的简单版本。
public enum Types {SLOW("Slow"), FAST("Fast"), VERY_FAST("Running");}
List<Types> playerTypes = new ArrayList<>();
playerTypes.add(Types.SLOW);
List<Player> myPlayers = new ArrayList<>();
Player player = new Player("FAST");
myPlayers.add(player);
for (Player p : myPlayers) {
if(playerTypes.contains(p.getType())) {
System.out.println("Player type is : " + p.getType());
}
}
我只想保留那些属于枚举列表一部分的播放器列表中的项目。以上似乎不起作用。请提出一种方法来实现这一点。我在 Java 8 中这样做。
【问题讨论】:
-
getType的返回类型是什么? -
它是一个字符串。
标签: java list enums compare string-comparison