2011-09-15 37 views
0

在我們的Java程序中,我們收到一個Erlang元組並將其解壓到OtpErlangTuple中。元組的元素之一應該是一個字符串,但可以是空的。當它爲空時,它的值是[] - 表示空列表的Erlang方式。如何確定erlang項是否爲空com.ericsson.otp.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'

感謝,

馬丁

回答

2

檢查它是否等於[]如果這樣做了具體的操作:

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

你可以按照你想要的方式來處理這個案例,這取決於你如何管理這些案例OtpErlangString

+1

好。謝謝。尼斯黑客。我試圖將其轉換爲'OtpErlangList'並檢查是否包含任何元素,但是如果提供的非空字符串不想轉換爲列表。不過,我徘徊了。是不是Erlang string = Erlang列表? –