com.google.protobuf.Internal.hashEnumList()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(2.8k)|赞(0)|评价(0)|浏览(124)

本文整理了Java中com.google.protobuf.Internal.hashEnumList()方法的一些代码示例,展示了Internal.hashEnumList()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Internal.hashEnumList()方法的具体详情如下:
包路径:com.google.protobuf.Internal
类名称:Internal
方法名:hashEnumList

Internal.hashEnumList介绍

[英]Helper method for implementing MessageLite#hashCode() for enum lists.
[中]用于为枚举列表实现MessageLite#hashCode()的助手方法。

代码示例

代码示例来源:origin: com.google.protobuf/protobuf-java

  1. /** Get a hash code for given fields and values, using the given seed. */
  2. @SuppressWarnings("unchecked")
  3. protected static int hashFields(int hash, Map<FieldDescriptor, Object> map) {
  4. for (Map.Entry<FieldDescriptor, Object> entry : map.entrySet()) {
  5. FieldDescriptor field = entry.getKey();
  6. Object value = entry.getValue();
  7. hash = (37 * hash) + field.getNumber();
  8. if (field.isMapField()) {
  9. hash = (53 * hash) + hashMapField(value);
  10. } else if (field.getType() != FieldDescriptor.Type.ENUM){
  11. hash = (53 * hash) + value.hashCode();
  12. } else if (field.isRepeated()) {
  13. List<? extends EnumLite> list = (List<? extends EnumLite>) value;
  14. hash = (53 * hash) + Internal.hashEnumList(list);
  15. } else {
  16. hash = (53 * hash) + Internal.hashEnum((EnumLite) value);
  17. }
  18. }
  19. return hash;
  20. }

代码示例来源:origin: WeAreFairphone/FP2-Launcher

  1. /** Get a hash code for given fields and values, using the given seed. */
  2. @SuppressWarnings("unchecked")
  3. protected static int hashFields(int hash, Map<FieldDescriptor, Object> map) {
  4. for (Map.Entry<FieldDescriptor, Object> entry : map.entrySet()) {
  5. FieldDescriptor field = entry.getKey();
  6. Object value = entry.getValue();
  7. hash = (MAGIC_NUMBER_37 * hash) + field.getNumber();
  8. if (field.getType() != FieldDescriptor.Type.ENUM){
  9. hash = (MAGIC_NUMBER_53 * hash) + value.hashCode();
  10. } else if (field.isRepeated()) {
  11. List<? extends EnumLite> list = (List<? extends EnumLite>) value;
  12. hash = (MAGIC_NUMBER_53 * hash) + Internal.hashEnumList(list);
  13. } else {
  14. hash = (MAGIC_NUMBER_53 * hash) + Internal.hashEnum((EnumLite) value);
  15. }
  16. }
  17. return hash;
  18. }

代码示例来源:origin: yeriomin/play-store-api

  1. /** Get a hash code for given fields and values, using the given seed. */
  2. @SuppressWarnings("unchecked")
  3. protected static int hashFields(int hash, Map<FieldDescriptor, Object> map) {
  4. for (Map.Entry<FieldDescriptor, Object> entry : map.entrySet()) {
  5. FieldDescriptor field = entry.getKey();
  6. Object value = entry.getValue();
  7. hash = (37 * hash) + field.getNumber();
  8. if (field.isMapField()) {
  9. hash = (53 * hash) + hashMapField(value);
  10. } else if (field.getType() != FieldDescriptor.Type.ENUM){
  11. hash = (53 * hash) + value.hashCode();
  12. } else if (field.isRepeated()) {
  13. List<? extends EnumLite> list = (List<? extends EnumLite>) value;
  14. hash = (53 * hash) + Internal.hashEnumList(list);
  15. } else {
  16. hash = (53 * hash) + Internal.hashEnum((EnumLite) value);
  17. }
  18. }
  19. return hash;
  20. }

代码示例来源:origin: com.github.protobufel/protobufel-protobuf-test-protos

  1. hash = (53 * hash) + com.google.protobuf.Internal.hashEnumList(
  2. getEnumField2List());
  3. hash = (53 * hash) + com.google.protobuf.Internal.hashEnumList(
  4. getEnumField22List());

相关文章