Я пытался вызвать закрытый метод, аргумент которого является параметром, и я не могу понять, как он выглядит правильно.
Вот как выглядит код:
public class TestClass {
public TestClass(){
}
private void simpleMethod( Map<String, Integer> testMap) {
//code logic
}
}
Затем я пытаюсь использовать это для вызова приватного метода:
//instance I would like to invoke simpleMethod on
TestClass testClassObject = new TestClass();
//Hashmap
Map <String, Integer> testMap = new HashMap <String, Integer>();
//method I want to invoke
Method simpleMethod = TestClass.class.getDeclaredMethod("simpleMethod", Map.class);
simpleMethod.setAccessible(true);
simpleMethod.invoke(testClassObject, testMap); //Throws an IllegalArgumentException
Как видите, он вызывает исключение IllegalArgumentException. Я пытался вернуть хэш-карту обратно на карту, но это не сработало.
Что я делаю не так?