java - Ljava.lang.Object 错误 - Matlab/Java

标签 java matlab object

我对java很陌生,我正在尝试做一些涉及嵌套类的java,并且我在Matlab中运行它。所以我有我的内部类和外部类,我试图创建这个新类的一个实例,它需要两个 java.lang.Objects 作为它的构造函数,但是当我尝试这样做时,我收到一个错误并且它说我正在尝试传递这个Ljava.lang.Object而不是java.lang.Object。研究了一些关于它是如何编码的名称,但我不太明白。任何帮助将不胜感激,我的代码(来自 Matlab)如下!

>> p = innerclass.getConstructors();

>> p(1) 

ans = 

public innerclassName(java.lang.Object, java.lang.Object)

>> k=javaArray('java.lang.String',3);
>> k(1)=java.lang.String('a');
>> k(2)=java.lang.String('b');
>> k(3)=java.lang.String('c');

>> v=javaArray('java.lang.Integer',3,2);
>> v(1,1) = java.lang.Integer(1);
>> v(2,1) = java.lang.Integer(2);
>> v(3,1) = java.lang.Integer(3);
>> v(1,2) = java.lang.Integer(4);
>> v(2,2) = java.lang.Integer(5);
>> v(3,2) = java.lang.Integer(6);

>> o=[java.lang.Object();java.lang.Object()];
>> o(1) = k;
>> o(2) = v;
>> o.getClass()

ans =

class [Ljava.lang.Object;

>> types=javaArray('java.lang.Class',2) ;
>> types(1)=o.getClass();
>> types(2)=o.getClass();
>> in1 = innerclass.getConstructor(types).newInstance(o)
??? Java exception occurred:
java.lang.NoSuchMethodException: innerclassName.<init>([Ljava.lang.Object;, [Ljava.lang.Object;)

最佳答案

class [Ljava.lang.Object; 中的 [L 表示该类是紧随 L 之后的内容的数组 . 另请参见 what is `[Ljava.lang.Object;?

当您执行 types(1)=o.getClass();types(2)=o.getClass(); 时,您将分配给 types 的两个元素值“对象数组”。 innerclass.getConstructor(types) 然后尝试查找一个构造函数,如果 innerclass两个对象数组作为参数,但没有找到一个,因此NoSuchMethodException

要么创建一个构造函数public insideclassName(java.lang.Object[], java.lang.Object[]),要么将types的两个值更改为java.lang.Object.class,这可能就是你想要做的(尽管不知道你想要做什么,如果你知道你将传入数组,前者可能更合理)。

关于java - Ljava.lang.Object 错误 - Matlab/Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15066331/

相关文章:

java - 使用 JPQL 查询在 JPA 中进行查询组合、一对多关系

java - LineBreakMeasurer 中没有堆栈跟踪的 ClassCastException

c++ - 将 for 循环从 matlab 转移到 c++

matlab - 如何在 MATLAB 中获取矩阵的值,其中索引在 nx2 数组中给出

没有循环的Matlab矩阵运算

java - Spring boot 演示项目的问题

java - Jackson 反/序列化 Key 问题

PHPUnit 模拟对象问题

java - 如何在另一个对象上使用一个对象的实例变量java

java - Tapestry 返回区和流响应