gpt4 book ai didi

Java getDeclaredMethod() 字符串参数的参数类型

转载 作者:行者123 更新时间:2023-12-01 18:02:29 26 4
gpt4 key购买 nike

我有一个简单的问题。我想在 getDeclaredMethod() 中获取 String.TYPE 作为 parameterType,但我找不到它。例如,有 Long。 TYPE 用于长数据类型,但对于字符串类型没有任何类似的东西。有人可以帮我解决这个问题吗?谢谢

Object newClass;
newClass = Class.forName(cls.getName()).getConstructor().newInstance();
for (Method m : cls.getClass().getMethods())
if (m.getName().startsWith("get") && m.getParameterTypes().length == 0) {
try {
//final Object r = m.invoke(cls);
String MethodName=m.getName().replace("get","");

if (m.getReturnType().equals(Long.TYPE)){
// Class<?> c = Class.forName("class name");

}else
{
String value =this.getString(j,MethodName);
Method method = cls.getDeclaredMethod (MethodName, String);//Here I need Parameter Type for string imput parameter
method.invoke (newClass, value);
}


} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
// do your thing with r
}

最佳答案

检查这个。效果很好。

Test obj = new Test();
for (Method m : obj.getClass().getDeclaredMethods()){
if (m.getName().startsWith("get") && m.getParameterTypes().length == 1) {
System.out.println("==="+m.getName());
if (m.getReturnType().equals(String.class)) {
String value = "ABCD";
Method method = Test.class.getDeclaredMethod (m.getName(), String.class);
method.invoke (obj, value);
}
}
}

关于Java getDeclaredMethod() 字符串参数的参数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39764140/

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