在我们的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.erlang.OtpErlangString'

谢谢,

马丁

最佳答案

检查它是否等于[],如果是,则执行特定操作:

OtpErlangString convertedString;
if(messageData.elementAt(2).toString().equals("[]")) {
    // do something assigning some value to convertedString
} else {
    convertedString = (OtpErlangString) messageData.elementAt(2);
}


您可以根据想要的方式来处理这种情况,具体取决于您随后如何管理这些OtpErlangString

10-06 13:13