Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/127.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 Groovy中的泛型_Java_Generics_Groovy - Fatal编程技术网

Java Groovy中的泛型

Java Groovy中的泛型,java,generics,groovy,Java,Generics,Groovy,下面的Groovy代码显示“它可以工作” def printIt(Class查看此项 […]在某些方面,这与 动态语言的重点在哪里 一般来说,对象的类型不能为空 直到运行时才能确定。但是 Groovy旨在适应Java的 如果可能,静态键入,因此 Groovy 1.5现在也可以理解 话虽如此,Groovy的 泛型支持的目标不是成为 Java泛型的完整克隆。 相反,Groovy的目标是允许泛型 在源代码级别(以帮助减少 和从Java粘贴)以及 允许好的行为是有道理的 Groovy与Java的集成 使

下面的Groovy代码显示“它可以工作”

def printIt(Class查看此项

[…]在某些方面,这与 动态语言的重点在哪里 一般来说,对象的类型不能为空 直到运行时才能确定。但是 Groovy旨在适应Java的 如果可能,静态键入,因此 Groovy 1.5现在也可以理解 话虽如此,Groovy的 泛型支持的目标不是成为 Java泛型的完整克隆。 相反,Groovy的目标是允许泛型 在源代码级别(以帮助减少 和从Java粘贴)以及 允许好的行为是有道理的 Groovy与Java的集成 使用泛型的工具和API。[…]


总之,我认为不可能在运行时获得这些信息。

因为您知道这应该是一个例外,这在Java(或Groovy)中是有效的:


这绝不会使用泛型信息,但在Java中也不可用。

我想知道到底是什么意思:“Groovy目前在源代码级别做得更进一步,丢弃泛型信息”我认为这意味着在groovy中,泛型信息被忽略了。在Java中,泛型信息被删除了,但进行了适当的强制转换和静态类型检查。
def printIt(Class<? extends Exception> clazz) {
  println "it works"
}

printIt(String.class)
// true if the class is a subclass of Exception
Exception.class.isAssignableFrom(clazz);