gpt4 book ai didi

java - 有没有办法在 Java 运行时检查对象是否具有特定方法?

转载 作者:行者123 更新时间:2023-12-02 07:49:56 25 4
gpt4 key购买 nike

我有一个类,它有多个子类,每个子类都实现自己的方法。其中一些子类具有我需要调用的通用方法。 java中有没有办法知道对象是否有方法(不使用instanceof)?

最佳答案

这可能表明存在设计缺陷,但您始终可以使用反射来检查方法是否存在:

public static boolean hasMethod(Object obj, String methodName) {
return Arrays.stream(obj.getClass().getMethods())
.anyMatch(m -> m.getName().equals(methodName));
}

当然,这也可以进行改进以包含方法的签名,但基本思想保持不变。

关于java - 有没有办法在 Java 运行时检查对象是否具有特定方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37735523/

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