Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这个方法签名是什么意思?_Java_Templates_Generics - Fatal编程技术网

Java 这个方法签名是什么意思?

Java 这个方法签名是什么意思?,java,templates,generics,Java,Templates,Generics,我是Java新手,面临一些我无法理解的代码。 下面是一些方法声明: public <V> void method(Map<T,V>) 公共作废方法(Map) 我已经阅读了java中的泛型,但找不到对该部分的任何描述 有人能解释一下这是什么意思吗?这是一种通用方法。它定义了一个名为的方法作用域类型 此外,它还使用类型,该类型可能具有类作用域 例如,假设您有一个类,由某个类型参数化 然后getValueForKey()将返回一个整数,因为这是提供的映射中的值类型这是一个

我是Java新手,面临一些我无法理解的代码。
下面是一些方法声明:

public <V> void method(Map<T,V>)
公共作废方法(Map)
我已经阅读了java中的泛型,但找不到对该部分的任何描述

有人能解释一下这是什么意思吗?

这是一种通用方法。它定义了一个名为
的方法作用域类型

此外,它还使用类型
,该类型可能具有类作用域

例如,假设您有一个类,由某个类型
参数化


然后
getValueForKey()
将返回一个
整数
,因为这是提供的
映射中的值类型

这是一个通用方法。它定义了一个名为
的方法作用域类型

此外,它还使用类型
,该类型可能具有类作用域

例如,假设您有一个类,由某个类型
参数化

然后
getValueForKey()
将返回一个
整数
,因为这是提供的
映射中的值类型

A
映射
包含类型为
T
的键和类型为
V
的值。方法必须知道调用时
T
V
是哪种类型。调用该方法的实例已经给出了
T
,但是
V
是未知的。因此,
public void method
表示调用方在调用该方法时必须提供
V
类型。

A
Map
持有
T
类型的键和
V
类型的值。方法必须知道调用时
T
V
是哪种类型。调用该方法的实例已经给出了
T
,但是
V
是未知的。因此,
public void方法
表示调用方在调用该方法时必须提供
V
的类型

public class Something<T> {
    private T key;

    public Something(T key) {
        this.key = key;
    }

    public <V> V getValueForKey(Map<T, V> map) {
        return map.get(key);
    }
}
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("One", 1);
map.put("Two", 2);

Something<String> something = new Something<String>("One");
Integer value = something.getValueForKey(map);