繁体   English   中英

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

[英]Java: How do I return only objects of one parameter type from a List that contains more parameter types?

我有一个存储 Team(运动队)类型对象的 List,我想显示所有相同类型球队的排名:

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

Team class 是通用的,它接受一些类的参数类型,如:Fotbal、Basketball 等。

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

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

在此 state 中,该方法返回所有团队,而与运动类型无关。

这是我的团队 class 声明:

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

}

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

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

这会奏效。 但也许一个团队应该只是一个通用的 object 并带有一个存储其类型的enum字段? 然后你可以将它与

if (team.getType() == BASEBALL)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM