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