private boolean match(Class<?>[] declaredTypes, Class<?>[] actualTypes) {
        if (declaredTypes.length == actualTypes.length) {
            for (int i = 0; i < actualTypes.length; i++) {
                if (actualTypes[i] == NULL.class)
                    continue;

                // we can get method real type
                if (realType(declaredTypes[i]).isAssignableFrom(realType(actualTypes[i])))
                    continue;

                return false;
            }

            return true;
        } else {
            return false;
        }
    }
match two methods

@param declaredTypes declared method types
@param actualTypes   actual method types
@return is match
caprice/kit-reflect/src/main/java/net/qiujuer/genius/kit/reflect/Reflector.java