是否有可能在Matlab中构造一个参数化类?例如在Java中,我可以说ArrayList<String> myList = new ArrayList<String>()
。我试过myList = java.util.ArrayList<String>()
,但这只是给出了一个错误,说“意外的括号或括号”。我真的希望使用我自己的参数化类,但是如果我能够得到这个语法,就足够了。在Matlab中使用Java泛型类
6
A
回答
5
你不能在Matlab实例化一个参数化的Java类。这是因为Matlab是一种解释型语言。因此,在你的例子中,当你尝试
myList = java.util.ArrayList<String>()
该代码立即解释并运行Matlab(和Java代码编译)。但是因为Java有Type Erasure myList的所有类型信息都会立即丢失。这意味着在Matlab的语法类型参数中没有任何意义 - 所以它们在语法上是无效的。
1
我不是Matlab专家,但我理解java中的一些东西。
- 泛型支持由于Java 5
- 泛型是编译时的功能。它们也被称为“擦除”。
这意味着
- 检查其Java是安装在系统上,并通过MATLAB使用。可能它被配置为使用java 1.4?
- 你可以使用其他IDE(不是matlab)编写代码,编译它们然后在Matlab中使用吗?可能它会解决你的问题。
以下链接也许可以帮助你:http://www.mathworks.com/support/solutions/en/data/1-1812J/
+0
您在第二点提到的方法正在工作。 – zellus 2010-12-16 19:09:57
5
Kurt是正确的,但是一种解决方法是定义你自己的java类,它没有参数化。 public class MyList extends ArrayList<String> { }
。然后在matlab中,您可以编写myList = MyList()
,您几乎可以获得与ArrayList<String>
相同的方法签名。
相关问题
- 1. Java在泛型上使用泛型有两种类型
- 2. 泛型类型Java中
- 3. 如何在Java中使用超类型的泛型类?
- 4. Java类泛型
- 5. 使用Java-泛型模板类型>
- 6. Java - 泛型类型
- 7. 如何在Java中使用泛型来引用嵌套类型?
- 8. 在泛型中使用Java中的抽象数据类型
- 9. 在Java中编写泛型类型
- 10. 如何使用泛型类型的泛型列表泛型类
- 11. 在Window.Resources中使用泛型类型
- 12. 使用Java泛型
- 13. 在类中使用泛型类成员
- 14. 如何在Java泛型中使用自定义类型
- 15. 在Java中使用泛型返回类型的覆盖方法
- 16. Java和泛型类
- 17. Java类的泛型
- 18. 在泛型Java类中的泛型变量上使用数学运算符
- 19. 使用泛型为Java类的属性
- 20. Java泛型 - 错误铸造泛型类
- 21. 如何在java接口中使用泛型的泛型
- 22. 使用Java中的泛型解组XML使用泛型
- 23. Java泛型 - 类型推断
- 24. Java泛型 - 类型声明
- 25. Java的泛型类型
- 26. Java泛型类型参数
- 27. Java:获得泛型类型
- 28. Java泛型和界类型
- 29. 泛型在Java中
- 30. 泛型在Java中
好吧,我很害怕这种情况,但我想确认一下。 – Sam 2010-12-16 17:53:07
所以,如果我在matlab中构造一个ArrayList,是否可以添加一个matlab对象? (每次我尝试添加一个对象时,我都会得到'No method'添加',并为类 'java.util.ArrayList'.'找到匹配的签名) – dinosaur 2015-12-17 02:32:59