簡體   English   中英

如何強制java接受相同類型的泛型參數

[英]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>());

所以a1a2在這里可以是不同的類型,我怎么能強迫它們是同一類型? 說只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.

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