public static List<Method> getDeclaredMethods(Class<?> clazz) {
        return Arrays
                .stream(clazz.getDeclaredMethods())
                .filter(method -> !method.isBridge())
                .collect(Collectors.toList());
    }
public static List < Method > getDeclaredMethods ( Class < ? > clazz ) { return Arrays . stream ( clazz . getDeclaredMethods ( ) ) . filter ( method -> ! method . isBridge ( ) ) . collect ( Collectors . toList ( ) ) ; }
Returns an array containing {@code Method} objects reflecting all the
declared methods of the class or interface represented by this {@code
Class} object, including public, protected, default (package)
access, and private methods, <b>but excluding inherited methods</b>.

<p>This method differs from {@link Class#getDeclaredMethods()} since it
does <b>not return bridge methods</b>, in other words, only the methods of
the class are returned. <b>If you just want the methods declared in
{@code clazz} use this method!</b></p>

@param clazz Class

@return the array of {@code Method} objects representing all the
declared methods of this class

@see Class#getDeclaredMethods()