PDA

查看完整版本 : 在Matlab中使用Java通用类


poster
2019-12-10, 20:48
在Matlab中可以构造参数化的类吗?例如,在Java中,我可以说ArrayList myList = new ArrayList() 。我已经尝试过myList = java.util.ArrayList() ,但这只是给出了一个错误,说“意外的括号或括号”。我确实正在寻找使用自己的参数化类的方法,但是如果我能获得此语法,就足够了。



回答:

您无法在Matlab中实例化参数化的Java类。这是因为Matlab是一种解释语言。因此,在您的示例中,当您尝试

myList = java.util.ArrayList() 该代码将立即由Matlab解释并运行(并编译Java代码)。但是因为Java具有类型擦除 (http://download.oracle.com/javase/tutorial/java/generics/erasure.html) ,所以myList的所有类型信息都会立即丢失。这意味着在Matlab语法中,参数类型没有意义-因此它们在语法上无效。



更多&回答... (https://stackoverflow.com/questions/4463625)