在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