草庐IT

Enumeration

全部标签

java - 在 Java 中枚举正则表达式的可能匹配项

出于测试目的,我想在Java中枚举有限正则表达式的所有可能值。对于某些上下文,我有一个正则表达式,用于匹配单词中允许的颜色值。以下是它的简化版本作为示例:(white|black)|((light|dark))?(red|green|blue|gray)我想创建一个单元测试来枚举所有这些值并将它们中的每一个传递给我的实用程序类,该实用程序类从这些值生成一个Color对象,这样如果我更改正则表达式,我的如果发生错误(即不支持新的颜色值),单元测试将失败。我知道枚举是可能的,当然(seethisquestion),但是是否有一个现有的Java库可以枚举正则表达式的所有可能匹配项?编辑:我已

java - 为什么不能从枚举构造函数调用 super 构造函数?

publicenumA{A(1);privateA(inti){}privateA(){super();//compile-error//CannotinvokesuperconstructorfromenumconstructorA()}}这里是enumA的层次结构extendsfromabstractjava.lang.Enumextendsjava.lang.ObjectClassc=Class.forName("/*path*/.A");System.out.println(c.getSuperclass().getName());System.out.println(Modi

mockito thenReturn 中的 Java 枚举列表

有没有一种方法可以在mockito的thenReturn函数中枚举列表中的项目,以便我返回列表中的每个项目。到目前为止,我已经这样做了:Listreturns=newArrayList();//populatereturnslistMockito.when(/*somefunctioniscalled*/).thenReturn(returns.get(0),returns.get(1),returns.get(2),returns.get(3));这完全符合我的要求。每次调用该函数时,它都会从列表中返回一个不同的对象,例如get(1)、get(2)等。但我想简化它并使其对任何大小的列

java - 什么等同于 Java 中的 .NET SortedDictionary?

如果.NET有一个SortedDictionaryobject...请问在Java中这是什么?我还需要能够在Java代码中检索(元素的)Enumeration。这样我就可以遍历所有键。我认为这是一个TreeMap?但我不认为它有一个暴露的Enumeration?有什么想法吗? 最佳答案 TreeMap将是正确的选择。至于所有键(或值)的Collection,任意Map暴露keySet()和values().编辑(用代码标签回答你的问题)。假设你有一个Map:for(Stringkey:map.keySet()){System.out

c++ - C/C++ : size of a typedef struct containing an int and enum == sizeof(int)?

我在我的Ubuntu(i686)上使用gcc版本4.3.3。我写了一个精简的测试程序来描述我缺乏理解和我的问题。该程序应告诉我我实现的结构的大小。所以我有一个typedefstruct用于Message和一个小的main来玩:#includetypedefstruct{intsize;enum{token=0x123456};}Message;intmain(intargc,char*argv[]){Messagem;m.size=30;printf("sizeof(int):%d\n",sizeof(int));printf("sizeof(0x123456):%d\n",sizeo

c++ - 多个枚举声明

这是来自sec的引述。N3797工作草案3.3.1/4:Givenasetofdeclarationsinasingledeclarativeregion,eachofwhichspecifiesthesameunqualifiedname,—exactlyonedeclarationshalldeclareaclassnameorenumerationnamethatisnotatypedefnameandtheotherdeclarationsshallallrefertothesamevariableorenumerator,orallrefertofunctionsandfun

c++ - 为什么允许我使用不完整的枚举类?

为什么下面的代码编译没有任何错误?enumclassEnumeration;voidfunc(){autoenumeration=static_cast(2);autovalue=static_cast(enumeration);} 最佳答案 它编译是因为编译器在编译时知道Enumeration的大小(恰好是空的)。您可以使用以下语法明确地看到它:enumclassEnumeration:short;编译器知道关于Enumeration的所有信息。Enumeration是一个opaque-enum-declaration这也意味着该

c++ - 如何为枚举创建模板运算符

我需要一个没有宏魔法的通用模板类,我可以这样使用:templateclassenum_operators{E&operator++(E&orig){orig=static_cast(orig+1);returnorig;}};enumcolors:publicenum_operators{white,red,green,blue};enumcorners:publicenum_operators{topleft,topright,bottomleft,bottomright};是否可以使用可变参数模板或其他方式?我怎样才能做到这一点? 最佳答案

c++ - 依赖整数 boolean 转换的枚举

在我的编译器项目中,我有一个像这样的枚举enumResult{No,Maybe,Yes};我已将No明确地放在第一个位置,这样我就可以依赖false的boolean值评估。如果我的编译器不确定某事,并且必须等到运行时才知道事实,它的分析函数将返回Maybe。像这样使用if(!typesEqual(t1,t2)){diagnose(types_unequal)我想知道您或您的公司是否认为不与No明确比较是不好的作风if(typesEqual(t1,t2)==No){/*...*/}明确比较对我来说似乎很罗嗦,但依赖隐式boolean转换不知何故让我感到内疚。您以前有过这种感觉吗?您是如何

c++ - 表达式中使用的枚举数是否与其枚举的基础类型具有相同的类型?

当在无范围枚举定义之外使用时,枚举常量的类型是什么?考虑以下代码:#includeenummodes{begin=0,end=1};intmain(){std::cout::type>::value这在我的机器上产生:true4-99现在,如果我只将其他一些枚举器的值从begin更改为2147483648,那么我的输出将变为:true44294967197显然,这意味着end的类型已经从int变成了unsignedint,甚至底层的modes仍然相同(即unsignedint)。关于枚举的积分提升是否有一些特殊规则? 最佳答案 来自