如何实例化 java 泛型类

How do I instance a java generic Class?

本文关键字:泛型类 java 实例化      更新时间:2023-09-26

我需要在我的NativeScript(JavaScript)代码中实例化一个原生Java类。

我已经在官方文档中看到了如何实例化原生 java 类(官方文档 - Java 到 Js),尽管没有任何关于泛型类的考虑。

例如:

var newObject = new SomeClass<Type>();

上面的代码会引发异常。

更新:

作为一种解决方法,我创建了一个java类来包装泛型类并编译并导出为JAR文件,因此我可以从JavaScript代码调用它,如官方文档所述:

例如:

public class GenericListStringWrapper implements List<String> {
}

Javascript中没有语法来实例化泛型类型的Java类。

即使有,也没有太多的好处,因为(a)Javascript不是一种类型语言,所以无论如何你都不会得到编译时类型检查(这是泛型需要改进的地方)和(b)Java中的泛型类型在运行时被删除,因此它们在编译后也不能使用。

所以,你可以坚持下去

 var newObject = new SomeClass();