繁体   English   中英

使用PrivilegedAccessor带有原始参数的方法

[英]Method with primitive argument using PrivilegedAccessor

在我的Junit中,我尝试使用PrivilegedAccessor执行以下方法,但得到NoSuchMethodException: Invalid Method 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静态最终常量下找到。 Boolean.TYPEInteger.TYPEByte.TYPEShort.TYPELong.TYPE等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM