簡體   English   中英

getDeclaredMethod 導致 java.lang.NoSuchMethodException

[英]getDeclaredMethod leading to java.lang.NoSuchMethodException

在我的一個課程中,我在下面的代碼行中調用了 BLH 課程的 preOTPOOperations

Class<?> clazz = Class.forName("com.test.BLH");
Object obj = clazz.newInstance();
Class<?>[] paramTypes = new Class[4];
paramTypes[0]=String.class;
paramTypes[1]=String.class;
paramTypes[2]=Integer.class;
paramTypes[3]=COConfig.class;
Method m = clazz.getDeclaredMethod("preOTPOperations", paramTypes); 
String responseMessage = (String) m.invoke(obj, new Object[]{cardnumber, null, bankId, myConfig});

但是,當我嘗試使用 invoke() 調用上述 BLH 的 preOTPOperations 方法時,我得到 java.lang.NoSuchMethodException。

在 BLH 課程中,我有如下的 preOTPOOperations。

public String preOTPOperations(String cardnumber, String mobileNumber, int bankid, COConfig coConfig){

    //some code goes here

}

不知道為什么我得到 NoSuchMethodException 盡管在具有公共訪問說明符的 BLH 類中有 preOTPOOperations。 有人好心提出解決方案。 我錯過了什么嗎? 提前致謝!

您需要將Integer.class更改為int.class Integerint不是相同的類型,並且找不到該方法,因為您指定了錯誤的類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM