我有一个
java对象(让我们称之为Foo)使用length()方法.
在MATLAB中,我想编写一个函数来接受这些对象的数组并使用它.我的问题是编写循环的常用方法分解了:
function doSomething(someArray)
for i = 1:length(someArray)
% do stuff with someArray(i)
end
因为在这种情况下,MATLAB决定“哦,那是一个Java对象;长度(x)应该被解释为x.length(),因为它有一个length()方法:
function printLength(someArray)
disp(length(someArray));
...
> foo = %%% get my handle to the Java Foo object %%%
> printLength([foo foo foo])
3
> printLength([foo foo])
2
> printLength([foo])
300000
% foo.length() gets called and returns 300000 or whatever
有办法解决这个问题吗?