簡體   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