java.lang.String无法强制转换为system.Object

时间:2015-01-19 08:42:36

标签: java string classcastexception jni4net

我使用JNI4NET框架从Java调用.Net代码。 JNI4NET为.Net代码生成了代理类。其中一个方法接受system.Object作为输入参数。

我想将String值作为该方法的输入发送。我为此写了下面的代码 -

        String s = "test";
        Object b = s;
        system.Object object = (system.Object) b;

将此obj作为代理方法的输入传递。以上代码抛出运行时异常java.lang.String无法强制转换为system.Object。任何帮助或指针都会有用。

1 个答案:

答案 0 :(得分:2)

java.lang.String可以投放到java.lang.Object(虽然没有理由将其投射 - 您只需将其分配到Object引用,就像在Object b = s;中一样) ,而不是system.Object

我做了一些搜索。看起来这可能会有所帮助:

String s = "test";
system.String b = new system.String(s);
system.Object object = b;

由于system.Stringsystem.Object的子类,因此您可以将其传递给test方法。