Определить, содержит ли переданный объект определенный метод

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.lang.reflect.Method;

public class test {
    public static class Cat{
        void say(String word){
            System.out.println("Cat says: " + word);
        }
    }

    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.say("hello");

        System.out.println(isHasMethod(cat, "say"));

    }

    static boolean isHasMethod(Object object, String methodName){
        Method[] methods = object.getClass().getDeclaredMethods();
        for (Method method : methods) {
            if (method.getName().equals(methodName)) return true;
        }
        return false;
    }
}
(Просмотрено 17 раз, 1 раз за сегодня)
Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий