我有一些 MATLAB 代码和一些 Java 代码需要相互通信。我得到一个NoSuchMethodError
. 当我将 MATLAB 双精度数组传递给接受double[]
参数的 Java 方法时。
所以我写了一个简单的“hello world”来获取传递给方法的对象的类
public void printArray(Object array) {
System.out.println(array.getClass());
System.out.println(array.getClass().getPackage());
}
从 MATLAB 调用这个方法,我得到了这个有趣的输出:
>> a.printArray(2)
class java.lang.Double
package java.lang
>> a.printArray('hello')
class java.lang.String
package java.lang
>> a.printArray(true)
class java.lang.Boolean
package java.lang
>> a.printArray([2 3 4])
class [D
null
>> a.printArray([true false])
class [Z
null
有人可以解释发生了什么。我有 MATLAB R14,Java 类是用 1.3 兼容性编译的。