在java中,您可以將Type參數添加到靜態方法中,以創建處理泛型的方法。你可以用lambdas做同樣的事嗎?在Java中創建通用lambdas
在我的代碼有
final private static <K,V> Supplier<Map<K, List<V>> supplier=HashMap::new;
我試圖做的類型參數,如它的功能,但它不會讓我。
如果我做的:
final private static Supplier<Map<?, List<?>>> supplier=HashMap::new;
它不接受,我嘗試使用它的論點。我能做什麼?此
這不可能是一個變量。事實上,聲明一個像'WhateverClassThatSupportsGenerics > var = ...;'這樣的變量是無用的,除非它是一個方法的參數。 –
你在哪裏嘗試使用第二個聲明? (第一個,正如你可能發現的,在合成上是無效的。) – Makoto
不可能構造一個有界的通用對象。你的代碼行失敗的原因同樣是'新的HashMap>'是合法的,但'新的HashMap , List>>'不是。 '''意思是「我不知道這個HashMap使用了什麼類型」,但是當你創建一個HashMap時,你總是知道你打算如何放置它(即使你決定使用java.lang.Object)。 –
VGR