【问题标题】: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'

谢谢,

马丁

【问题讨论】:

    标签: java erlang erlang-otp


    【解决方案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 列表吗?
    猜你喜欢
    • 2014-03-16
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 2020-08-31
    • 1970-01-01
    相关资源
    最近更新 更多