如何使用 com.ericsson.otp.erlang 确定 erlang 术语是不是为空
Posted
技术标签:
【中文标题】如何使用 com.ericsson.otp.erlang 确定 erlang 术语是不是为空【英文标题】:How to determine if erlang term is empty with com.ericsson.otp.erlang如何使用 com.ericsson.otp.erlang 确定 erlang 术语是否为空 【发布时间】:2011-11-17 16:22:53 【问题描述】:在我们的 Java 程序中,我们收到一个 Erlang 元组并将其提取到 OtpErlangTuple
中。元组的元素之一应该是字符串,但可以为空。当它为空时,其值为[]
- Erlang 表示空列表的方式。
我的问题是如何检查元素是否为空以便将其转换为OtpErlangString
?
现在是(OtpErlangString)messageData.elementAt(2)
,引发以下异常:
class java.lang.ClassCastException
, 'com.ericsson.otp.erlang.OtpErlangList cannot be cast to com.ericsson.otp.erla
ng.OtpErlangString'
谢谢,
马丁
【问题讨论】:
【参考方案1】:检查是否等于[]
,如果是则进行具体操作:
OtpErlangString convertedString;
if(messageData.elementAt(2).toString().equals("[]"))
// do something assigning some value to convertedString
else
convertedString = (OtpErlangString) messageData.elementAt(2);
您可以按照自己的方式处理这种情况,具体取决于您如何管理这些OtpErlangString
【讨论】:
太棒了。谢谢。不错的黑客。我试图将其转换为OtpErlangList
并检查是否包含任何元素,但如果提供了非空字符串,则不想转换为列表。不过,我想知道为什么。不是 Erlang 字符串 = Erlang 列表吗?以上是关于如何使用 com.ericsson.otp.erlang 确定 erlang 术语是不是为空的主要内容,如果未能解决你的问题,请参考以下文章
如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]
如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?