通过泛型方法调用数据成员的方法,可以通过以下步骤实现:
public <T> void invokeDataMethod(T object, String methodName) {
// 在这里实现调用数据成员的方法
}
Class<?> clazz = object.getClass();
Method method = clazz.getMethod(methodName);
method.invoke(object);
完整的代码示例如下:
import java.lang.reflect.Method;
public class GenericMethodExample {
public static void main(String[] args) {
MyClass myObject = new MyClass();
invokeDataMethod(myObject, "setData");
invokeDataMethod(myObject, "getData");
}
public static <T> void invokeDataMethod(T object, String methodName) {
try {
Class<?> clazz = object.getClass();
Method method = clazz.getMethod(methodName);
method.invoke(object);
} catch (Exception e) {
e.printStackTrace();
}
}
static class MyClass {
private String data;
public void setData() {
data = "Hello, World!";
System.out.println("Data has been set.");
}
public void getData() {
System.out.println("Data: " + data);
}
}
}
这样,通过泛型方法调用数据成员的方法就可以实现了。在这个例子中,我们定义了一个包含数据成员和相关方法的内部类 MyClass,通过泛型方法 invokeDataMethod,我们可以通过方法名调用该类的对应方法。对于不同类型的对象,我们只需要传入不同的对象实例和方法名即可实现方法的调用。
领取专属 10元无门槛券
手把手带您无忧上云