[英]Using Java generic classes in Matlab
是否可以在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的语境中,语法类型参数毫无意义 - 所以它们在语法上是无效的。
Kurt是对的,但是解决方法是定义你自己的没有参数化的java类。 public class MyList extends ArrayList<String> { }
。 然后在matlab中你可以写myList = MyList()
,你会得到几乎所有与ArrayList<String>
相同的方法签名。
我不是Matlab的专家,但我对java有所了解。
这意味着
以下链接可能对您有所帮助: http : //www.mathworks.com/support/solutions/en/data/1-1812J/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.