[英]How to force java to accept the same type generic parameters
我從The Java™Tutorials Type Inference中找到了以下代碼片段
static <T> T pick(T a1, T a2) { return a2; }
Serializable s = pick("d", new ArrayList<String>());
所以a1
和a2
在這里可以是不同的類型,我怎么能強迫它們是同一類型? 說只pick("d", "e");
可以叫。
how can I force them to be the same type?
如果T是非常特定的類型,只有String
,那么就可以避免泛型。 但你可以限制范圍,如 -
static <T extends Number> T pick(T a1, T a2) { return a2; }
pick(0, 1)
,因為T僅限於Number和sub類。 我沒有畫出<T extends String>
的例子,因為String
類是final
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.