是否可以在 Matlab 中构造参数化类?例如在 Java 中,我可以说 ArrayList<String> myList = new ArrayList<String>() 。我试过 myList = java.util.ArrayList<String>() ,但这只是给出了一个错误,说“意外的括号或括号”。我真的很想使用我自己的参数化类,但如果我能得到语法,那就足够了。

最佳答案

您不能在 Matlab 中实例化参数化的 Java 类。这是因为 Matlab 是一种解释型语言。所以,在你的例子中,当你尝试

myList = java.util.ArrayList<String>()

该代码立即由 Matlab 解释和运行(以及编译的 Java 代码)。但是因为 Java 有 Type Erasure ,所以 myList 的所有类型信息都会立即丢失。这意味着在 Matlab 语法类型参数的上下文中没有意义——因此它们在语法上是无效的。

10-08 07:33
查看更多