簡體   English   中英

如何推斷的類型參數? 在接口聲明中擴展Class

[英]How to infer type argument of ? extends Class in interface declaration

我正在開發游戲的一些接口,到目前為止,我已經了解了以下接口定義:

  • public interface Player<A extends Action, R extends Result> { }

  • public interface Game<P extends Player<? extends Action, ? extends Result>> { }

但是現在我想訪問? extends Result Game界面中? extends Result ,我知道我可以通過向Game添加三個通用類型來做到這一點,但由於信息已經存在,因此不需要。

我想要以下內容:

public interface <A, R> Game<P extends Player<A extends Action, R extends Result>> { }

但是,此代碼在Java(Java 8)中是不合法的,因為我不能這樣定義<A, R>

我該怎么做?

您將需要按照您最初的建議進行操作,向“ Game ”添加“三個通用類型”。

只要在聲明泛型類型參數時創建適當的界限,就可以使用它們來定義另一個類型參數。

這是在接口方法中獲得AR的最佳方法。

interface Game<A extends Action, R extends Result, P extends Player<A, R>> { }

暫無
暫無

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

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