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

如何将列表设置为枚举常量参数?

邬宜然
2023-03-14

如何在常量参数中传递List类型值?在这种情况下,此参数仅适用于PARS()常量。

public enum ParColumnsEnum {

    ID_DIST("codDist"),
    PARS("listValue...");

    private final String columnName;

    ParColumnsEnum(String columnName) {
        this.columnName = columnName;
    }

    public String columnName() {
        return columnName;
    }
}

更新:我最终没有在帖子中提到它,但它是一个对象列表,而不是一个字符串。

List<Pares> pares;

共有1个答案

东方骏
2023-03-14

枚举是从类实例化的对象,与其他对象和类一样。因此,如果只有一个构造函数,那么实例化的每个对象都必须使用其单个参数通过该构造函数。

如前所述,一种解决方案是让您拥有多个构造函数。

下面是一个示例,其中两个构造函数中的任何一个填充两个成员字段中的任何一个。


public enum ParColumnsEnum {

    ID_DIST( "codDist" ) ,
    PARS( List.of( LocalDate.now() , 42 , "purple" ) );

    // One of these two member fields is always null. Either is populated by either constructor, but never both. 
    private final String columnName;
    private final List< Object > list;

    ParColumnsEnum( String columnName ) {
        this.columnName = columnName;
    }

    ParColumnsEnum( List< Object > list ) {
        this.list = list;
    }

    public String columnName() {
        return this.columnName; // Might return null. 
    }

    public List< Object > list() {
        return this.list ; // Might return null. 
    }

}
 类似资料:
  • 我有枚举类,我想向列表视图显示枚举数据。谁能说出如何做到这一点?

  • 如何使用枚举的作为MyBatis查询的参数?我已经为它创建了一个类型处理程序,并指定了另一个问题中描述的映射类型。当它应该是数千时,它返回0计数。 调试日志显示正确的值('A'、'T'、'ST'),但它会为计数打印0。 MyBatis XML的参考文档:http://www.mybatis.org/mybatis-3/configuration.html#typeHandlers

  • 我有一个枚举,我想让这些枚举类型在开关情况下成为字符串。 因此,在上面我硬编码“Mon”,而不是有一种方法,我们可以直接将枚举类型作为字符串。就目前而言,如果我在交换机案例中传递枚举类型,我将获得id 0、1或2,但我需要Mon/Tue/Wed作为字符串

  • 问题内容: 我无法使用从常量中获取的枚举作为注释中的参数。我收到此编译错误:“注释属性[attribute]的值必须是枚举常量表达式”。 这是枚举代码的简化版本: 对于注释: 和班级: 该错误仅在方法B的“ theEnum = MYENUM_CONSTANT”中显示。字符串和int常量对于编译器是可以的,但Enum常量不是,即使它的值与methodA上的值完全相同。在我看来,这是编译器中缺少的功能

  • 我想将枚举的所有可用值添加到消息中。但是我不能,因为它需要一个常量表达式。 结果错误: 如何做到这一点?

  • 主要内容:声明常量,实例,VB.Net打印和显示常量,声明枚举,实例常量指的是程序在执行过程中可能不会改变的固定值。 这些固定值也被称为文字。 常量可以是任何基本数据类型,如整数常量,浮点常量,字符常量或字符串文字。 也有枚举常量。 常量的处理方式与常规变量一样,只是它们的值在定义之后无法修改。 枚举是一组命名的整数常量。 声明常量 在VB.Net中,使用语句声明常量。 语句用于模块,类,结构,过程或块级别,以代替文字值。 语句的语法是: 其中, attribut