Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.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_Generics_Parameters_Return Type - Fatal编程技术网

无法理解复杂的参数化返回类型-Java

无法理解复杂的参数化返回类型-Java,java,generics,parameters,return-type,Java,Generics,Parameters,Return Type,我在Java中遇到了一个类似的代码片段 public <H extends ABC<I, U>, I, U> Set<U> get(Type<H, I, U> type) { } 我不明白这一点。 我只知道它接受一个参数化类型的参数,并返回一个返回类型的集合。 但是,我不明白其中的部分: <H extends ABC<I,U>, I,U> 有人能澄清一下吗 问候,, 车坛意思是 该方法采用三种类型参数:H、I和U 我和

我在Java中遇到了一个类似的代码片段

public <H extends ABC<I, U>, I, U> Set<U> get(Type<H, I, U> type) {

}
我不明白这一点。 我只知道它接受一个参数化类型的参数,并返回一个返回类型的集合。 但是,我不明白其中的部分:

<H extends ABC<I,U>, I,U>
有人能澄清一下吗

问候,, 车坛

意思是

该方法采用三种类型参数:H、I和U 我和你可以是任何人 H必须扩展ABC,否则它实际上可以是ABC 所以假设你有一个ABC类型,它有两个类型参数。这意味着,例如,这将是有效的:

Type<ABC<String, Date>, String, Date> type = new Type<>();
Set<String> set = instance.get(type);
…因为H是ABC,I是字符串,U是日期。

这意味着

该方法采用三种类型参数:H、I和U 我和你可以是任何人 H必须扩展ABC,否则它实际上可以是ABC 所以假设你有一个ABC类型,它有两个类型参数。这意味着,例如,这将是有效的:

Type<ABC<String, Date>, String, Date> type = new Type<>();
Set<String> set = instance.get(type);

…因为这里有ABC,我是字符串,你是日期。

谢谢。你的解释清楚了,谢谢。你的解释清楚了。