@Override
        public int hashCode() {
            // this equals Arrays.hashCode(getLowerBounds()) ^ Arrays.hashCode(getUpperBounds());
            return (lowerBound != null ? 31 + lowerBound.hashCode() : 1)
                    ^ (31 + upperBound.hashCode());
        }
The WildcardType interface supports multiple upper bounds and multiple
lower bounds. We only support what the Java 6 language needs - at most one
bound. If a lower bound is set, the upper bound must be Object.class.
core/src/main/java/com/alibaba/fastjson2/util/BeanUtils.java