【问题标题】:In MATLAB can I convert a java boolean to a MATLAB logical?在 MATLAB 中,我可以将 java 布尔值转换为 MATLAB 逻辑吗?
【发布时间】: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 浮点类型。这只是布尔类型似乎对我不起作用。

标签: java mysql matlab boolean


【解决方案1】:

例子:

b = java.lang.Boolean(true);

if b.booleanValue
    disp('val is true')
else
    disp('val is false')
end

并确保:

>> v = b.booleanValue;
>> whos v
  Name      Size            Bytes  Class      Attributes

  v         1x1                 1  logical              

【讨论】:

    猜你喜欢
    • 2016-05-09
    • 1970-01-01
    • 2018-02-17
    • 2010-09-18
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多