Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Java静态通用调用_Java_Android_Generics_Robolectric - Fatal编程技术网

Android Java静态通用调用

Android Java静态通用调用,java,android,generics,robolectric,Java,Android,Generics,Robolectric,我正在使用Robolectric,其中有一种静态方法: public static <P, R> P shadowOf_(R instance) { return (P) ShadowWrangler.getInstance().shadowOf(instance); } publicstaticshadowp\ur(实例){ 返回(P)ShadowWrangler.getInstance().shadowOf(实例); } 我有很长一段时间的C#泛型背景,所以我可能会错

我正在使用Robolectric,其中有一种静态方法:

public static <P, R> P shadowOf_(R instance) {
    return (P) ShadowWrangler.getInstance().shadowOf(instance);
}
publicstaticshadowp\ur(实例){
返回(P)ShadowWrangler.getInstance().shadowOf(实例);
}
我有很长一段时间的C#泛型背景,所以我可能会错误地思考这个问题。我的第一反应是这样利用这一点:

Robolectric.shadowOf_<MyShadow>(myInstance).foo(); 
Robolectric.shadowOf_uz(myInstance.foo();
然而,这并没有编译(另外,对于我和我的C#泛型背景来说,它看起来并不正确)

我如何使用这个方法

我相信您需要:

Robolectric.<MyShadow,X>shadowOf_(myInstance).foo(); 
Robolectric.shadowOf_uz(myInstance.foo();

其中
X
myInstance
的任何类型。

编译器无法推断p是什么。假设这里P应该是A,你可以

A a = Robolectric.shadowOf_(myInstance); // compiler can infer P=A here
a.foo();

您能提供编译错误吗?编译器消息是什么?