Java:如何从包含更多参数类型的列表中仅返回一种参数类型的对象?



我有这个列表,它存储了团队(运动队(类型的对象,我想显示相同类型的所有球队的排名:

static List<Team> teams = new ArrayList<>();

团队类是通用的,它接受一些分支的参数类型,如:Fotbal、篮球等。

使用以下方法,我希望显示一种类型的球队排名,例如显示所有 fotbal 球队排名:

static  void classament() {
Collections.sort(Championship.teams);
for (Team i : teams) {
System.out.println(i);
}
}

在此状态下,该方法返回所有团队,而不考虑运动类型。

这是我的团队类声明:

public class Team<T extends Player  > extends Championship implements Comparable<Team<T>>{
}

你可以像这样使用 instanceof 关键字:

if (team instanceof BasketballTeam) {
System.out.println(team);
}

这将起作用。但是,也许团队应该只是一个通用对象,enum字段存储其类型?然后你可以把它与

if (team.getType() == BASEBALL)

最新更新