gpt4 book ai didi

java - 以接口(interface)为参数调用私有(private)方法

转载 作者:行者123 更新时间:2023-11-30 06:37:51 26 4
gpt4 key购买 nike

我一直在尝试调用一个私有(private)方法,其参数是一个参数,但我似乎不太正确。

到目前为止,代码看起来是这样的:

public class TestClass {
public TestClass(){
}

private void simpleMethod( Map<String, Integer> testMap) {
//code logic
}
}

然后我尝试使用它来调用私有(private)方法:

//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。我试图将散列图转换回 map ,但这没有用。

我做错了什么?

最佳答案

我刚刚测试了它,当我像这样实例化您的 TestClass 对象时,您的代码在这里可以 100% 正常工作:

TestClass testClassObject = new TestClass();

也许您正在使用不同的导入(例如,与 java.util.Map 不同的 Map)?

关于java - 以接口(interface)为参数调用私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2992413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com