可以使用显式类型声明来解决不使用泛型推断接口特定键的值类型的问题。下面是一个示例代码:
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map map = new HashMap<>();
map.put("key1", 1);
map.put("key2", 2);
Integer value = getValue(map, "key1");
System.out.println(value);
}
public static V getValue(Map map, K key) {
return map.get(key);
}
}
在上面的代码中,我们定义了一个名为getValue
的方法,它接受一个Map
和一个键作为参数,并返回与该键关联的值。方法的类型参数K
和V
是用于指定键和值的类型的。通过这种方式,我们可以在调用getValue
方法时明确指定键和值的类型,而不依赖于泛型推断。
在main
方法中,我们创建了一个HashMap
实例,并向其中添加了两个键值对。然后,我们调用getValue
方法,并传入map
和一个键作为参数。在这个示例中,我们明确指定了键的类型为String
,值的类型为Integer
。最后,我们将返回的值打印到控制台上。
这种方法允许我们在不使用泛型推断的情况下获取接口特定键的值类型,但需要在调用方法时明确指定类型。