Java 使用PrivilegedAccessor的具有基元参数的方法

Java 使用PrivilegedAccessor的具有基元参数的方法,java,junit,nosuchelementexception,Java,Junit,Nosuchelementexception,在Junit中,我试图使用PrivilegedAccessor执行一个方法,如下所示,但得到NoSuchMethodException:无效的方法getInsurance- PrivilegedAccessor.invokeMethod(InsuranceRetriever, "getInsurance", new Object[] { code}, new Class[] { Long.class}

在Junit中,我试图使用
PrivilegedAccessor
执行一个方法,如下所示,但得到
NoSuchMethodException:无效的方法getInsurance
-

PrivilegedAccessor.invokeMethod(InsuranceRetriever,
                    "getInsurance", new Object[] { code}, new Class[] {
                            Long.class});
以下是测试方法声明

private InsObj getInsurance(long code)
*请注意,这里我传递的是Long.class,而实际参数是原语Long。如何传递基元参数。

请尝试以下操作:

PrivilegedAccessor.invokeMethod(InsuranceRetriever,
                "getInsurance", new Object[] { code }, 
                new Class[] { Long.TYPE });
说明:

基本类型的类对象位于每个基本类型的java.lang对象的TYPE static final常量下
Boolean.TYPE
Integer.TYPE
Byte.TYPE
Short.TYPE
Long.TYPE
等。请尝试以下操作:

PrivilegedAccessor.invokeMethod(InsuranceRetriever,
                "getInsurance", new Object[] { code }, 
                new Class[] { Long.TYPE });
说明:

基本类型的类对象位于每个基本类型的java.lang对象的TYPE static final常量下
Boolean.TYPE
Integer.TYPE
Byte.TYPE
Short.TYPE
Long.TYPE
等。请尝试以下操作:

PrivilegedAccessor.invokeMethod(InsuranceRetriever,
                "getInsurance", new Object[] { code }, 
                new Class[] { Long.TYPE });
说明:

基本类型的类对象位于每个基本类型的java.lang对象的TYPE static final常量下
Boolean.TYPE
Integer.TYPE
Byte.TYPE
Short.TYPE
Long.TYPE
等。请尝试以下操作:

PrivilegedAccessor.invokeMethod(InsuranceRetriever,
                "getInsurance", new Object[] { code }, 
                new Class[] { Long.TYPE });
说明:

基本类型的类对象位于每个基本类型的java.lang对象的TYPE static final常量下
Boolean.TYPE
Integer.TYPE
Byte.TYPE
Short.TYPE
Long.TYPE