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

java.lang.String cannot be cast to system.Object

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

我想将字符串值作为输入发送到该方法。我为此编写了以下代码-

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

并将此对象作为输入传递给代理方法。上面的代码抛出运行时异常 java.lang.String cannot be cast to system.Object。任何帮助或指示都会有用。

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.String is a sub-class of system.Object 起,您可以将其传递给您的 test 方法。