当前位置: 首页 > 知识库问答 >
问题:

迭代一个枚举,保存类,然后初始化类并将它们放入映射中

卜飞鸣
2023-03-14


我制作了一个接口,由我的类实现,我有一个带有constructor的枚举,它接受一个

谢谢你的帮助。


共有2个答案

徐峰
2023-03-14
public enum MyEnum {

  VALUE_1(ClassA.class);

  private Class<? extends MyItf> clazz;

  MyEnum(Class<? extends MyItf> clazz) {
    this.clazz = clazz;
  }

  public Class<? extends MyItf> getClazz() {
    return clazz;
  }
}

然后在enum.values()上循环:

Map<MyEnum, Class> map = new HashMap<>();

for(MyEnum e : MyEnum.values()) {
  map.put(e, e.getClazz());
}
闾丘诚
2023-03-14

在通配符上使用上限:

Class<? extends YourInterface>
 类似资料:
  • 我正在尝试存储和检索一个enum类,以便稍后可以找到正确的类型(基于配置)并对其调用ValueOf来解析字符串。如何放置/获取然后调用的值? 在伪代码中,它看起来像这样: 我怎么能这样呢? 为了提供一些关于我为什么这样做的背景-我有多个这样的枚举类型,我得到一个输入,告诉我它是什么样的枚举(在文本中)和枚举中的一个值,所以我想从映射中查找枚举类,然后调用它的静态ValueOf,它将正确解析。 注意

  • 我有两个枚举类,一个是外部的,另一个是内部的。 我需要将内部映射到外部,外部映射到内部。所以我做了以下工作, 因此,相同类型的映射在两种方法中重复。难道没有一种很好的方法可以用更少的代码来实现这一点吗?

  • 问题内容: 我想知道在类的主体中或函数内部初始化Python中的对象属性的最佳实践是什么? 即 与 问题答案: 如果要让该类的所有实例共享该属性,请使用类属性: 这导致成为一对。 如果希望每个实例都可自定义属性,请使用实例属性: 这将导致是一个在一对其中是的一个实例。

  • 下午好: 我最近创建了一个类“X”,它包含一个单一属性“network”,定义为一个映射,使用字符串作为键,另一个映射作为值(double map)。对于此类,将使用“hashmap”实现。 该类大致如下所示: 但是,当我执行函数中包含的network.put指令时,编译器会自动检测到一个错误:“表达式预期”。如果可能,我想知道在向映射中添加新的键值元素时是否使用了错误的语法,或者是否是映射的初始

  • 拥有Maapstruct映射接口和带有各种枚举的DTO。我有两个不同的枚举,它们的格式都是: 但它显然不知道要用参数字符串代码映射到的枚举。希望我能: 只做toEntity(fromDto)和toDto(fromStringCode,forDtoTypeAndFile) 只为每个类型添加代码,而不为每个源/目标添加代码