首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala中的java.util.Enumeration

Scala中的java.util.Enumeration
EN

Stack Overflow用户
提问于 2011-11-03 16:56:09
回答 4查看 1.7K关注 0票数 2

如何正确地为exists调用java.util.Enumeration?我不能更改源,它来自HttpServletRequest

这个(不相关的)代码起作用:

代码语言:javascript
复制
val a = List("One", "Two", "Three")
a exists (_ contains "T")

但是,为什么不能编译此代码:

代码语言:javascript
复制
import collection.JavaConversions.enumerationAsScalaIterator
enumerationAsScalaIterator(req.getHeaderNames[String])[String] exists (_ contains "T")

我正在使用IntelliJ作为我的IDE。上面的代码在编辑器中没有显示任何错误,但是在编译时会抛出错误:

错误:“;”预期,但“[”找到。enumerationAsScalaIterator(req.getHeaderNamesString)String存在(_包含"T")

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-04 15:48:34

对于HttpServletRequest.getHeaderNames来说,唯一能做到这一点的方法就是好的旧循环:

代码语言:javascript
复制
val headers = req.getHeaderNames
while (headers.hasMoreElements) {
if (headers.nextElement.asInstanceOf[String] contains "T")
  return FOO
}
票数 1
EN

Stack Overflow用户

发布于 2011-11-03 17:23:24

试一试

代码语言:javascript
复制
import collection.JavaConversions.enumerationAsScalaIterator

req.getHeaderNames() exists (_ contains "T")
票数 5
EN

Stack Overflow用户

发布于 2011-11-03 17:25:54

它应该是enumerationAsScalaIterator[String](req.getHeaderNames[String]) exists (_ contains "T") (或者隐式地使用它,as Pablo Fernandez suggests)。但是,不知道为什么它不会在编辑器中显示一个错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7998801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档