[英]Java: Generics return statement syntax
我很難理解這個return語句的語法,尤其是前導C:
<C>
我對仿制葯很新,但我知道基礎知識。 有誰能解釋一下?
public abstract <C> CustomMap<K, C> map(Function<? super V, ? extends C> f)
<C>
不是返回類型。 它是一個新的泛型類型變量的聲明,只能由map
方法使用。
由於map
方法似乎有其他泛型類型變量V
和K
它們沒有以與C
相同的方式聲明,我們可以假設V
和K
在類級別(包含的類)聲明為泛型類型變量這種方法)。 如果它們不是,則V
和K
將被視為常規標識符(即編譯器將期望找到具有名稱V
和K
)。
根據您的方法的簽名及其返回類型( CustomMap
),我可以假設此方法屬於某個實現Map<K,V>
接口的類。 它接受一個接收V
類型實例的Function
並返回一個C
類型的實例,因此可以合理地假設它將Map<K,V>
轉換為Map<K,C>
(即鍵保持不變,價值觀被轉變)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.