簡體   English   中英

在Java泛型中使用通配符類型

[英]Using wildcard type in java generics

我想傳遞的對象GameObject類也將實現Collidable接口。 看起來怎么樣?

private boolean isCollision(GameObject<? extends Collidable> collid) {
}

看起來怎么樣? collid必須是實例GameObjectCollidable

如果你想確保collid是一個GameObject Collidable ,你可以使用這個語法:

private <T extends GameObject & Collidable> boolean isCollision(T collid)

它可能會更容易定義擴展的接口GameObjectCollidable 然后聲明您的參數為該類型。

public interface CollidableGameObject extends GameObject, Collidable {
}

那么您的方法可能是:

private boolean isCollision(CollidableGameObject collid) {
}

除非我缺少什么,否則似乎不需要泛型。 如果GameObject還不是一個接口,請考慮使其成為一個接口?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM