- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.7.3
* Operating System version: Mac
* Java version: 1.8

### Steps to reproduce this issue

1.  `org/apache/dubbo/registry/support/ProviderConsumerRegTable.java:65` Type 'ProviderInvokerWrapper<>' does not define hashCode(), but is used in a hashing data-structure.
2. Class overrides equals but not hashCode.
* org.apache.dubbo.config.AbstractConfig
* org.apache.dubbo.registry.support.ProviderInvokerWrapper
* org.apache.dubbo.remoting.buffer.AbstractChannelBuffer

Pls. provide [GitHub address] to reproduce this issue.

### Expected Result

Whether the above suggestions can be fixed or have other considerations

### Actual Result

Is it considered a bug? Will it fix?

return String.valueOf(!Boolean.parseBoolean(value));
            }
        }
        return value;
    }
    public static String getTagName(Class<?> cls) {
        String tag = cls.getSimpleName();
        for (String suffix : SUFFIXES) {
            if (tag.endsWith(suffix)) {
                tag = tag.substring(0, tag.length() - suffix.length());
                break;
            }
        }
        return StringUtils.camelToSplitName(tag, "-");
    }
    public static void appendParameters(Map<String, String> parameters, Object config) {
        appendParameters(parameters, config, null);
    }
    @SuppressWarnings("unchecked")
    public static void appendParameters(Map<String, String> parameters, Object config, String prefix) {
        if (config == null) {
            return;
        }
        Method[] methods = config.getClass().getMethods();
        for (Method method : methods) {
            try {
                String name = method.getName();
                if (MethodUtils.isGetter(method)) {
                    Parameter parameter = method.getAnnotation(Parameter.class);
                    if (method.getReturnType() == Object.class || parameter != null && parameter.excluded()) {