草庐IT

Enumeration

全部标签

java - 为什么枚举不是可迭代的?

在Java5及更高版本中,您有foreach循环,它可以神奇地适用于任何实现Iterable的东西:for(Objecto:list){doStuff(o);}但是,Enumerable仍然没有实现Iterable,这意味着要迭代Enumeration您必须执行以下操作:for(;e.hasMoreElements();){doStuff(e.nextElement());}有谁知道Enumeration仍然没有实现Iterable的原因吗?编辑:澄清一下,我不是在谈论enum的语言概念。,我说的是JavaAPI中的一个特定于Java的类,称为“Enumeration”。'。

java - 为什么我不能在 Java 枚举上使用 foreach?

为什么我做不到:Enumeratione=...for(Objecto:e)... 最佳答案 因为Enumeration不扩展Iterable.这是exampleofmakingIterableEnumerations.至于为什么这是一个有趣的问题。这不完全是您的问题,但它对此有所了解。来自JavaCollectionsAPIDesignFAQ:Whydoesn'tIteratorextendEnumeration?WeviewthemethodnamesforEnumerationasunfortunate.They'revery

java - 为什么我不能在 Java 枚举上使用 foreach?

为什么我做不到:Enumeratione=...for(Objecto:e)... 最佳答案 因为Enumeration不扩展Iterable.这是exampleofmakingIterableEnumerations.至于为什么这是一个有趣的问题。这不完全是您的问题,但它对此有所了解。来自JavaCollectionsAPIDesignFAQ:Whydoesn'tIteratorextendEnumeration?WeviewthemethodnamesforEnumerationasunfortunate.They'revery

java - 在 Java 8 中迭代枚举

是否可以使用Lambda表达式迭代Enumeration?以下代码片段的Lambda表示形式是什么:Enumerationnets=NetworkInterface.getNetworkInterfaces();while(nets.hasMoreElements()){NetworkInterfacenetworkInterface=nets.nextElement();}我没有在其中找到任何流。 最佳答案 (这个答案显示了许多选项之一。仅仅因为有有接受标记,并不意味着它是最好的。我建议阅读其他答案并根据情况选择一个你所处的情况。

java - 在 Java 8 中迭代枚举

是否可以使用Lambda表达式迭代Enumeration?以下代码片段的Lambda表示形式是什么:Enumerationnets=NetworkInterface.getNetworkInterfaces();while(nets.hasMoreElements()){NetworkInterfacenetworkInterface=nets.nextElement();}我没有在其中找到任何流。 最佳答案 (这个答案显示了许多选项之一。仅仅因为有有接受标记,并不意味着它是最好的。我建议阅读其他答案并根据情况选择一个你所处的情况。

c++ - 海湾合作委员会 : Unscoped enumeration type give an ambiguity error

在下面的代码中,我定义了一个unscopedenumeration为longlong类型。该程序在Clang上运行良好。但是GCC编译器给出了一个歧义错误。#includeenum:longlong{Var=5};voidfun(longlongll){std::coutGCC产生的错误:main.cpp:Infunction'intmain()':main.cpp:17:12:error:callofoverloaded'fun()'isambiguousfun(Var);^main.cpp:5:6:note:candidate:voidfun(longlongint)voidfun

ios - Core Plot 和 Xcode 5 编译错误 : "Implicit conversion from enumeration type ' enum UILineBreakMode'

我正在使用Xcode5并在尝试编译我的使用CorePlot的iOS应用程序时收到以下错误:Implicitconversionfromenumerationtype'enumUILineBreakMode'todifferentenumerationtype'NSLineBreakMode'(aka'enumNSLineBreakMode')错误在CPTTextStylePlatFormSpecific.m中:-(void)drawInRect:(CGRect)rectwithTextStyle:(CPTTextStyle*)styleinContext:(CGContextRef)c

iphone - 我在 iOS 的 Xcode 中收到 "Implicit conversion from enumeration type"警告,我不知道为什么

使用这段代码:NSDataDetector*detector=[NSDataDetectordataDetectorWithTypes:NSTextCheckingTypeLinkerror:&error];我收到这个警告:Implicitconversionfromenumerationtype'enumNSTextCheckingType'todifferentenumerationtype'NSTextCheckingTypes'(aka'enumNSTextCheckingTypes')有人可以向我解释为什么会收到此警告以及如何解决吗? 最佳答案

java - 枚举<?扩展 ZipEntry> 和 Enumeration<ZipEntry>?

枚举和Enumeration?如果是,有什么区别? 最佳答案 当您拥有其中之一时,在您可以做什么方面没有实际区别,因为类型参数仅用于“输出”位置。另一方面,在您可以使用它们方面有很大的不同。假设您有一个Enumeration-你不能把它传递给一个需要Enumeration的方法作为其论点之一。您可以将它传递给采用Enumeration的方法虽然。当你有一个在输入和输出位置都使用类型参数的类型时会更有趣-List是最明显的例子。以下是参数变化的三个方法示例。在每种情况下,我们都会尝试从列表中获取一项,然后添加另一项。//Verystr

java - 为什么 getHeaderNames 在 HttpServletRequest 中返回 Enumeration 而在 HttpServletResponse 中返回 Collection?

HttpServletRequest.getHeaderNames()返回Enumeration和HttpServletResponse.getHeaderNames()返回Collection.为什么会出现这种差异? 最佳答案 枚举与Hashtable和Vector结合使用。HttpServletRequest从jdk1.2开始就有了getHeaderNames方法,此后一直没有改变。但是HttpServletResponse直到jdk6才具有getHeaderNames方法,到那时,Collection显然比遗留的Enumera