@Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + DOUBLE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getDouble()));
      hash = (37 * hash) + FLOAT_FIELD_NUMBER;
      hash = (53 * hash) + Float.floatToIntBits(
          getFloat());
      hash = (37 * hash) + INT32_FIELD_NUMBER;
      hash = (53 * hash) + getInt32();
      hash = (37 * hash) + INT64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInt64());
      hash = (37 * hash) + UINT32_FIELD_NUMBER;
      hash = (53 * hash) + getUint32();
      hash = (37 * hash) + UINT64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getUint64());
      hash = (37 * hash) + SINT32_FIELD_NUMBER;
      hash = (53 * hash) + getSint32();
      hash = (37 * hash) + SINT64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSint64());
      hash = (37 * hash) + FIXED32_FIELD_NUMBER;
      hash = (53 * hash) + getFixed32();
      hash = (37 * hash) + FIXED64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getFixed64());
      hash = (37 * hash) + SFIXED32_FIELD_NUMBER;
      hash = (53 * hash) + getSfixed32();
      hash = (37 * hash) + SFIXED64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSfixed64());
      hash = (37 * hash) + BOOL_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getBool());
      hash = (37 * hash) + STRING_FIELD_NUMBER;
      hash = (53 * hash) + getString().hashCode();
      hash = (37 * hash) + BYTESTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getBytesType().hashCode();
      if (hasCard()) {
        hash = (37 * hash) + CARD_FIELD_NUMBER;
        hash = (53 * hash) + getCard().hashCode();
      }
      if (getCardsCount() > 0) {
        hash = (37 * hash) + CARDS_FIELD_NUMBER;
        hash = (53 * hash) + getCardsList().hashCode();
      }
      if (!internalGetCardsmap().getMap().isEmpty()) {
        hash = (37 * hash) + CARDSMAP_FIELD_NUMBER;
        hash = (53 * hash) + internalGetCardsmap().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }
<code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
core/src/test/java/com/alibaba/fastjson2/dubbo/GoogleProtobufBasic.java