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

无法将java.lang.String强制转换为system.Object,java,string,classcastexception,jni4net,Java,String,Classcastexception,Jni4net,我使用JNI4NET框架从Java调用.Net代码。 JNI4NET已为.Net代码生成代理类。其中一个方法接受system.Object作为输入参数 我想将字符串值作为输入发送给该方法。我已经为此编写了以下代码- String s = "test"; Object b = s; system.Object object = (system.Object) b; 并将此obj作为输入传递给代理方法。上述代码引发运行时异常java.lang.Str

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

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

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

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

java.lang.String
可以强制转换为
java.lang.Object
(尽管没有理由强制转换它-您可以像在-
对象b=s;
中那样将其分配给
对象
引用,而不是分配给
系统.Object

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

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

由于是的子类,您可以将其传递给您的
测试
方法。

什么是
system.Object
总之?.Net使用system.Object,而不是java中的java.lang.Object。感谢您的快速响应。在这种情况下,如何将字符串值传递给system.Object参数?@Sanjay什么是
system.Object
?它是您创建的类吗?它有什么构造函数?它是由Java中的JNI4NET框架创建的.Net等效方法。下面是语法-公共本机布尔测试(java.lang.String AVariableFullName,system.Object Value);它不应该是
system.String b=新的system.String(s)?@Sanjay运行代码时,您的库路径中可能缺少一些jar。