【发布时间】:2011-01-28 02:04:57
【问题描述】:
在 MATLAB 中,我使用了几个我编写的 Java 例程来与 MyQSL 数据库交互。一个例程返回一个布尔值
result <1x1 java.lang.Boolean>
>> result
result =
true
当我在条件语句中使用它时,我会收到一条错误消息。
>> if result,
disp('result is true')
end
??? Conversion to logical from java.lang.Boolean is not possible.
有没有办法将 java boolean 类用作 MATLAB 逻辑类型?还是我必须求助于从我的 java 例程返回整数值?
【问题讨论】:
-
如果这是您编写的 Java 例程,您是返回 java.lang.Boolean 还是原始布尔值?如果您返回原语,它们会自动转换为 Matlab 类型。装箱的值对象不会。如果要返回数组,double[] 和 Double[] 会对性能产生影响:基元更快。
-
我还是个java新手,所以不太确定。在例程中,我声明“布尔行 = 假;”然后在最后'返回行;'。现在,当它返回到 MATLAB 时,它被识别为 java.lang.Boolean 。您是说这与原始布尔类型不同吗?是的,我注意到返回的 int 和 double 类型会自动转换为本机 MATLAB 浮点类型。这只是布尔类型似乎对我不起作用。