我正在编写一个需要使用 JInterface 在 Java 和 Erlang 之间进行通信的程序。我在从 Erlang 进程接收列表时遇到问题——不知何故,我在 Java 中得到的对象不是 OtpErlangList 而是 OtpErlangString,如果我尝试将接收到的对象强制转换为 OtpErlangList,则会出现强制转换异常。我试过解码字符串,但似乎并非如此。
在我看来,无法将列表从 Erlang 发送到 Java 似乎很奇怪,如果我没有犯任何基本错误,请你看看吗?
Java片段:
OtpErlangObject erlangObject = mailbox.receive();
OtpErlangList erlangList = (OtpErlangList) erlangObject;
System.out.println(erlangList.toString());
二郎片段:
List = [1, 2, 3, 4],
JavaPid ! List
我省略了其余的代码,因为我相信这些是问题所在 - 我已经尝试过其他类并且它有效。