我有一个这样的枚举:
public enum PcapLinkType {
DLT_NULL(0)
DLT_EN10MB(1)
DLT_EN3MB(2),
DLT_AX25(3),
/*snip, 200 more enums, not always consecutive.*/
DLT_UNKNOWN(-1);
private final int value;
PcapLinkType(int value) {
this.value= value;
}
}
现在我从外部输入中获取一个int并想要匹配的输入-如果不存在值,则抛出异常是可以的,但最好是DLT_UNKNOWN
在这种情况下。
int val = in.readInt();
PcapLinkType type = ???; /*convert val to a PcapLinkType */
您需要手动执行此操作,方法是在将Integer映射到枚举的类中添加一个静态映射,例如
private static final Map<Integer, PcapLinkType> intToTypeMap = new HashMap<Integer, PcapLinkType>();
static {
for (PcapLinkType type : PcapLinkType.values()) {
intToTypeMap.put(type.value, type);
}
}
public static PcapLinkType fromInt(int i) {
PcapLinkType type = intToTypeMap.get(Integer.valueOf(i));
if (type == null)
return PcapLinkType.DLT_UNKNOWN;
return type;
}
我想将时间间隔配置存储到数据库中,如下所示: 但是我不知道如何将例如值转换为LocalDateTime,因为我想使用此值来计算SQL查询的时间间隔。 将此值转换为LocaLDateTime的正确方法是什么?
问题内容: 给定以下枚举,将Int强制转换为Java中的枚举的正确方法是什么? 问题答案: 尝试在必须为or的地方,即该枚举的有效序数。 请注意,在Java中,枚举实际上是类(因此,枚举值是对象),因此您不能将an 甚至转换为枚举。
PHP是否有任何内置函数可以接受布尔值并返回其整数等效值?0代表FALSE,1代表TRUE?当然,您可以轻松创建一个函数来做到这一点,我只是询问PHP内部是否有内置函数。我已经尝试了并将其转换为但它们不起作用,它们在TRUE和FALSE两种情况下都返回0。 编辑:问题是它不是真正的布尔值,而是一个字符串“false”、“true”,php没有检测到传递布尔值的jquery帖子。问题解决了,谢谢!
问题内容: 我有一个返回int类型的函数。但是,我只有TAX枚举的值。 如何将TAX枚举值转换为整数? 问题答案: 您需要以某种方式使枚举公开,例如 (顺便说一句,我将名称更改为更常规和易读。) 这是 假设 您要在构造函数中分配值。如果这不是您想要的,则需要向我们提供更多信息。
问题内容: 鉴于以下枚举: 如何从下面的常量获取字符串? 问题答案: 不确定此功能是在哪个Swift版本中添加的,但是现在( Swift 2.1 )您只需要以下代码: 如果将字符串用于原始值,则每种情况的隐式值都是该 情况名称 的 文本 。 […] 在上面的示例中,CompassPoint.south的隐式原始值为“ south”,依此类推。 您可以使用其rawValue属性访问枚举用例的原始值:
问题内容: 如何将整数转换为布尔值? 问题答案: 尝试使用此返回 或仅使用布尔值开始(使用更好的名称): 它继续使我迷惑人们为什么使用-可怕的变量名。看起来并不传达任何意义。