【发布时间】:2017-07-29 09:03:00
【问题描述】:
我正在努力熟悉Messagepack for Java。
我通过 Mqtt 获取数据。如果变量不是null,一切都很好,但变量也可以是null,在这种情况下我会得到这个异常:Expected Int, but got Nil (c0)
MessageUnpacker unpacker = MessagePack.newDefaultUnpacker(m.getPayload());
int someInt = unpacker.unpackInt();
String someString = unpacker.unpackString();
到目前为止,我无法弄清楚如何找回 NULL
我想避免使用 TRY/CATCH,所以目前我正在使用这种方式
int someInt = unpacker.getNextFormat().equals("NIL") ? unpacker.unpackInt() : null;
有没有更好的方法?
【问题讨论】:
-
应该是相反的,不是吗?
Integer einInt = unpacker.getNextFormat().equals("NIL") ? null : unpacker.unpackInt();int无法接收空值。 -
你当然是对的,谢谢提醒 :)
-
请确保在 Stackoverflow 上留下的所有答案、问题和评论都是英文的。这也包括变量名。谢谢!