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

从枚举生成Java类[已关闭]

叶明辉
2023-03-14

我在BE端有属性,我可以通过处理程序获取和设置。我使用枚举来设置属性,并使用bean类来获取。现在我需要重复属性名称,我想避免它。

public enum ExampleEnum {

    APPLE("_apple"),
    PEAR("_pear"),
    PINEAPPLE("_pineapple");

    private final String name;

    ExampleEnum(String name) {
        this.name = name;
    }

    @Override
    public String getName() {
        return name;
    }
}

@Data
@With
@AllArgsConstructor
public class EnumBean {

    @SerializedName("_apple")
    String apple;
    @SerializedName("_pear")
    String pear;
    @SerializedName("_pineapple")
    String pineapple;

}

public interface PropertiesService {

    EnumBean getPropertiesViaBE();
    void setPropertyViaBE(ExampleEnum property, String value);

}

现在我必须支持这些类之间的两种方式的一致性

共有1个答案

卫劲
2023-03-14

我不确定这是你想要的,但我猜:

您希望返回一个json对象,该对象基本上包含name属性到枚举名称的映射,例如:

{
   "_apple": "APPLE",
   "_pear": "PEAR",
   "_pineapple":"PINEAPPLE"
}

顺便说一句,我不确定您为什么需要这个列表,因为一个简单的列表可能足以获得可用的枚举,但也许我猜错了,您需要添加更多信息。在任何情况下,您都可以建立在以下基础上。

Map<String, String> map = Arrays.stream(ExampleEnum.values())
                                .collect(Collectors.toMap(e -> e.getName(), 
                                                          e -> e.name()));
 类似资料:
  • 我正在为插入排序算法运行下面的java代码,结果出现了一个错误:, 错误:java:类,接口,或枚举预期 当我删除主函数的静态关键字时,编译器不会向我显示运行选项。这里有什么问题吗?

  • 问题内容: 假设我有一个格式为基本XML的文件,如下所示: 我想在运行时变成这样的东西: …,然后将新创建的枚举传递给我的应用程序。我将如何实现这样的目标?可以吗 问题答案: 您尝试做的事情没有任何意义。枚举实际上仅是为了编译时的利益,因为它们表示一组固定的常量。在运行时,动态生成的枚举的含义是什么- 与普通对象有什么不同?例如: 您的XML可以解析为新实例化的对象,这些对象可以存储在某些程序中,

  • 使用JAXB从XSD(作为标准分发,我无法控制,也无法更改)生成一些POJO有很多困难。问题似乎与XSD中定义某些类型的方式有关。下面我粘贴了一个在XSD中定义的名为TransactionCodeType的简单类型,它是一个令牌与值的枚举列表(也定义为令牌)的联合。 使用JAXB,生成的输出(见下文)被翻译为Java中的基本类型字符串。我使用的是来自org的最新版本的maven-jaxb2-plu

  • 问题内容: 我有一个简单的收藏问题。我有一个对象。我想要一个的的中,且s 。我需要一个,因为我要覆盖专门返回的方法。最干净/最好的方法是什么? 问题答案: 编辑:无需编写自己的(尽管为了后代,我将在下面保留实现)-请参见Kevin Bourrillion在JDK中的答案。 如果您 确实 需要枚举,可以使用: 如果可能的话,最好使用… 更好的选择是在周围编写一个小型包装器类。这样一来,您不必为了发现

  • 我有以下结构 包含枚举,该枚举包含或。现在我有了一个类,它包含一个。 这是在swagger yml中指定的(删除了一些不相关的代码) 我使用(也尝试了v3&openapi-generator)生成代码,配置如下: 现在发生的情况是,库将生成注释: 这里的问题是,如果我现在尝试反序列化/序列化包含带有的收件箱的Json字符串,它将引发异常,因为没有名称为的已知子类型。 seralizer期望注释指定

  • 问题内容: 我有一个枚举的类对象(我有一个),我需要获取此枚举表示的枚举值的列表。该静态函数有我需要什么,但我不知道怎么去从类对象访问它。 问题答案: