【发布时间】:2010-10-02 15:05:09
【问题描述】:
我有一些 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 兼容性编译的。
【问题讨论】:
-
看起来像预期的行为......数组是原始布尔值和双精度数。您能否描述一下导致 NoSuchMethodError 异常的代码?