国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Java反射:getMethod(String method,Object []。class)不起作用

瀏覽:75日期:2024-05-01 08:47:30
如何解決Java反射:getMethod(String method,Object []。class)不起作用?

您需要像這樣調(diào)用方法:

@[email protected](this, new Object[]{new Object[]{'hi', 'there'}});

(…或在@Jon的答案中使用替代方法。)

當(dāng)前代碼失敗的原因與Java中實現(xiàn)可變參數(shù)方法的方式有關(guān)。本質(zhì)上T1 xxx(T2... args)是的語法糖T1 xxx(T2[]args)。當(dāng)您調(diào)用方法時, xxx(arg1, arg2, arg3)是的語法糖xxx(new T2[]{arg1, arg2, arg3})。

在這種情況下,您嘗試使用另一個具有相同數(shù)組基類型的變量方法來調(diào)用變量方法,并且該代碼有多種可能的解釋。

當(dāng)對可變調(diào)用有兩種可能的解釋時,Java會 假定 您嘗試使用該調(diào)用的“未使用”版本而不是“使用”版本。或者更確切地說, 當(dāng)且僅當(dāng) :

實際參數(shù)的數(shù)量不等于形式參數(shù)的數(shù)量, 或者最后一個實際參數(shù)與最后一個形式參數(shù)的(數(shù)組)類型不兼容。

如果您有興趣,可以在JLS的15.12.4.2節(jié)中指定此行為。

所以…我的解決方案通過強制執(zhí)行非可變解釋并顯式構(gòu)造所需的數(shù)組來工作。@Jon 的解決方案通過強制 正確的 方言解釋來起作用。

解決方法

我有以下代碼:

public void myMethod(Object... args) { System.out.println('this is myMethod');}public void invokeMyMethod() { Method s = this.getClass().getMethod('myMethod',Object[].class); Object[] ex = new Object[2]; ex[0] = 'hi'; ex[1] = 'there'; s.invoke(this,ex);}

我收到異常java.lang.IllegalArgumentException:參數(shù)數(shù)量錯誤。怎么了?

標(biāo)簽: java
主站蜘蛛池模板: 成年大片免费视频播放手机不卡 | 国产三级麻豆 | 国产1级片| 手机看片精品国产福利盒子 | 91欧美亚洲| 未满14周岁啪啪网站 | 最近手机中文字幕1 | 成人国产综合 | 欧美一区二区三区免费不卡 | 精品日本亚洲一区二区三区 | 日韩午夜视频在线观看 | 国产精自产拍久久久久久 | 国产精品中文 | 国产在线拍揄自揄视精品不卡 | 日本欧美精品 | 亚洲成人高清在线 | 中文精品视频一区二区在线观看 | 亚洲精品一二三 | 男人女人做刺激视频免费 | 黄色毛片视频校园交易 | 国产一级久久久久久毛片 | 欧美韩国日本 | 午夜影院美女 | 国产精品99久久久久久人 | 国产com | 亚洲图片一区二区三区 | 欧美精品久久一区二区三区 | 天堂8资源8在线 | 99精品国产在热久久 | 亚洲欧美日本在线 | 美女扒开腿让男人桶尿口 | 国产精品一区亚洲一区天堂 | 亚洲免费一区 | 国产日产欧产精品精品推荐小说 | 国产日韩视频在线观看 | 男操女b | 2345成人高清毛片 | 成人午夜在线 | 日韩一级黄色毛片 | 天天综合天天看夜夜添狠狠玩 | 免费一级特黄欧美大片勹久久网 |