Questions tagged «enums»

由一组命名值组成的数据类型,这些命名值称为该类型的元素,成员或枚举数。

17
TypeScript枚举到对象数组
我有一个这样定义的枚举: export enum GoalProgressMeasurements { Percentage = 1, Numeric_Target = 2, Completed_Tasks = 3, Average_Milestone_Progress = 4, Not_Measured = 5 } 但是,我希望将其表示为来自我们的API的对象数组/列表,如下所示: [{id: 1, name: 'Percentage'}, {id: 2, name: 'Numeric Target'}, {id: 3, name: 'Completed Tasks'}, {id: 4, name: 'Average Milestone Progress'}, {id: 5, name: 'Not Measured'}] 是否有简单且本机的方法来执行此操作,还是我必须构建一个将枚举强制转换为int和字符串的函数,并将对象构建为数组?

9
如何在postgres中删除枚举类型值?
如何删除我在postgresql中创建的枚举类型值? create type admin_level1 as enum('classifier', 'moderator', 'god'); 例如,我想moderator从列表中删除。 我似乎在文档上找不到任何内容。 我正在使用Postgresql 9.3.4。
109 postgresql  enums 

18
方便地在enum和int / String之间映射
当使用只能接受有限数量值的变量/参数时,我尝试始终使用Java的enum,如 public enum BonusType { MONTHLY, YEARLY, ONE_OFF } 只要我留在代码中,就可以正常工作。但是,我经常需要与出于相同目的使用纯int(或String)值的其他代码进行交互,或者我需要从数据库中读取/写入数据,在数据库中数据以数字或字符串的形式存储。 在那种情况下,我想有一个方便的方法将每个枚举值与一个整数相关联,这样我就可以同时转换两种方式(换句话说,我需要一个“可逆枚举”)。 从枚举到整数很容易: public enum BonusType { public final int id; BonusType(int id) { this.id = id; } MONTHLY(1), YEARLY(2), ONE_OFF(3); } 然后,我可以访问int值BonusType x = MONTHLY; int id = x.id;。 但是,我看不到相反的好方法,即从int到enum。理想情况下, BonusType bt = BonusType.getById(2); 我唯一能想到的解决方案是: 将查找方法放入枚举,该方法BonusType.values()用于填充映射“ int->枚举”,然后对其进行缓存并将其用于查找。可以,但是我必须将此方法相同地复制到我使用的每个枚举中:-(。 将查找方法放入静态实用程序类。然后,我只需要一个“查找”方法,但我不得不摆弄反射以使其适用于任意枚举。 对于这样一个简单的(?)问题,这两种方法都显得很尴尬。 还有其他想法/见解吗?
108 java  enums  coding-style 

8
从Rails 4.1中的select保存枚举
我使用Rails 4.1中的枚举来跟踪葡萄酒的颜色。 Wine.rb class Wine < ActiveRecord::Base enum color: [:red, :white, :sparkling] end 在我看来,我会生成一个选择,以便用户可以选择某种颜色的葡萄酒 f.input :color, :as => :select, :collection => Wine.colors 这将生成以下HTML: <select id="wine_color" name="wine[color]"> <option value=""></option> <option value="0">red</option> <option value="1">white</option> <option value="2">sparkling</option> </select> 但是,提交表单后,我收到了一个说明的参数错误'1' is not a valid color。我意识到这是因为color必须平等1而不是平等"1"。 有没有一种方法可以迫使Rails将颜色解释为整数而不是字符串?


5
如何获取在代码中的attrs.xml中创建的枚举
我创建了一个自定义视图(在此处查找),其声明类型为enum。在xml中,我现在可以为我的自定义属性选择一个枚举条目。现在,我想创建一个以编程方式设置此值的方法,但是我无法访问该枚举。 attr.xml <declare-styleable name="IconView"> <attr name="icon" format="enum"> <enum name="enum_name_one" value="0"/> .... <enum name="enum_name_n" value="666"/> </attr> </declare-styleable> layout.xml <com.xyz.views.IconView android:id="@+id/heart_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" app:icon="enum_name_x"/> 我需要的是这样的:mCustomView.setIcon(R.id.enum_name_x); 但是我找不到枚举,或者甚至不知道如何获取枚举或枚举的名称。

10
如何通过字符串或整数获取枚举值
如果我有枚举字符串或枚举int值,如何获取枚举值。例如:如果我有如下枚举: public enum TestEnum { Value1 = 1, Value2 = 2, Value3 = 3 } 在某些字符串变量中,我的值是“ value1”,如下所示: string str = "Value1" 或在一些int变量中,我的值是2 int a = 2; 我如何获得enum的实例?我想要一个通用方法,可以在其中提供枚举和输入字符串或int值来获取枚举实例。
108 c#  enums 



8
Java将enum与switch语句一起使用
我已经看过类似于此问题的各种问答,但是还没有找到解决方案。 我所拥有的一个枚举代表了观看电视指南的不同方式... 在NDroid Application类中 static enum guideView { GUIDE_VIEW_SEVEN_DAY, GUIDE_VIEW_NOW_SHOWING, GUIDE_VIEW_ALL_TIMESLOTS } ...当用户更改视图时,事件处理程序会收到int0-2的值,而我想做这样的事情... 在Android Activity onClick(DialogInterface dialog, int which)事件处理程序中 // 'which' is an int from 0-2 switch (which) { case NDroid.guideView.GUIDE_VIEW_SEVEN_DAY: ... break; } 我习惯了C#枚举和select / case语句,这些语句将允许类似上面的内容,而且我知道Java会做一些不同的事情,但我只是不明白我需要做什么。 我将不得不诉诸if陈述吗?我可能只有3个选择,所以我可以这样做,但我想知道如何用Java中的切换用例来完成。 编辑抱歉,我没有完全扩展此问题,因为我将其视为通用Java问题。我已经添加了这个问题,以进一步解释。 没有什么是特定于Android的,这就是为什么我没有将其标记为Android,而是在Application类中定义了枚举,而我不希望在其中切换的代码位于的原因Activity。枚举是静态的,因为我需要从多个活动中访问它。


3
如何在SQLite中创建ENUM类型?
我需要将表从MySQL转换为SQLite,但是我不知道如何转换枚举字段,因为我无法ENUM在SQLite中找到类型。 pType下表中是上述字段: CREATE TABLE `prices` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `pName` VARCHAR(100) NOT NULL DEFAULT '', `pType` ENUM('M','R','H') NOT NULL DEFAULT 'M', `pField` VARCHAR(50) NULL DEFAULT NULL, `pFieldExt` VARCHAR(50) NULL DEFAULT NULL, `cmp_id` INT(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM ROW_FORMAT=DEFAULT 我需要一个只有三个值的字段供用户选择,我想在数据库中(而不只是在我的应用程序中)实施该字段。
105 sqlite  types  enums 

4
如何在f:selectItem(s)中使用枚举值
我想创建一个selectOneMenu下拉列表,以便可以选择问题的状态。考虑到枚举顺序更改且列表很大时会发生什么情况,是否可以使f:selectItem更灵活?我可以做得更好吗?是否可以自动“选择”问题所具有的项目? 枚举类 public enum Status { SUBMITTED, REJECTED, APPROVED } 问题实体 @Enumerated(EnumType.STRING) private Status status; JSF <div class="field"> <h:outputLabel for="questionStatus" value="Status" /> <h:selectOneMenu id="questionStatus" value="#{bean.question.status}" > <f:selectItem itemLabel="Submitted" itemValue="0" /> <f:selectItem itemLabel="Rejected" itemValue="1" /> <f:selectItem itemLabel="Approved" itemValue="2" /> </h:selectOneMenu> <hr /> </div>

6
如何从C#中的字符串获取枚举值?
我有一个枚举: public enum baseKey : uint { HKEY_CLASSES_ROOT = 0x80000000, HKEY_CURRENT_USER = 0x80000001, HKEY_LOCAL_MACHINE = 0x80000002, HKEY_USERS = 0x80000003, HKEY_CURRENT_CONFIG = 0x80000005 } 给定字符串HKEY_LOCAL_MACHINE,如何获得0x80000002基于枚举的值?
102 c#  enums 

8
枚举类型的名称空间-最佳做法
通常,一个人同时需要几种枚举类型。有时,一个人会发生名字冲突。有两种解决方案:使用名称空间,或使用“较大”的枚举元素名称。命名空间解决方案仍然有两种可能的实现:具有嵌套枚举的虚拟类或完整的命名空间。 我正在寻找这三种方法的利弊。 例: // oft seen hand-crafted name clash solution enum eColors { cRed, cColorBlue, cGreen, cYellow, cColorsEnd }; enum eFeelings { cAngry, cFeelingBlue, cHappy, cFeelingsEnd }; void setPenColor( const eColors c ) { switch (c) { default: assert(false); break; case cRed: //... break; case cColorBlue: //... //... } } …
102 c++  enums  scope  nested 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.