Scala Java Error:值过滤器不是java.util.Map的成员。在课外工作 [英] Scala Java Error: value filter is not a member of java.util.Map. Works outside of class

查看:582
本文介绍了Scala Java Error:值过滤器不是java.util.Map的成员。在课外工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在Eclipse中重构一些Scala代码并遇到此编译错误:

I'm trying to refactor some Scala code in Eclipse and run into this compilation error:

值过滤器不是java.util的成员。地图

import java.io.File
import com.typesafe.config._

class ConfigLoader  {

    def parseFile( confFile : File) {
        val conf = ConfigFactory.parseFile(confFile).root().unwrapped();        
        for((k,v) <- conf; (dk, dv) = (k, v.toString())) config.param += (dk -> dv);        
    }

(config是一个对象,其中param是String的字符串:String )

(config is an object with "param" being a Map of String:String)

此代码完全来自Main(),其工作正常如下:

This code was pull exactly from Main() where it worked fine like so:

object Main extends Logging {        

    def main(args: Array[String]) {
        //code cropped for readability. 
        //config.param["properties"] is absolute path to a passed-in properties file. 

        val conf = ConfigFactory.parseFile(new java.io.File(config.param("properties"))).root().unwrapped();

        for((k,v) <- conf; (dk, dv) = (k, v.toString())) config.param+=(dk -> dv);

您可以看到代码完全相同。我导入了相同的库。现在我在main中做的不同就是实例化 ConfigLoader 并调用它如下:

as you can see the code is exactly the same. I've imported the same libraries. All i'm doing different in main now is instantiating ConfigLoader and calling it like so:

cfgLoader.parseFile(config.param(properties))

任何想法只是通过移动它导致错误上课了吗?

我用谷歌搜索了这个错误,它看起来很通用。

I've googled the error and it seems to be pretty generic.

推荐答案

事实证明我毕竟错过了一个棘手的导入:

Turns out I was missing a tricky import after all:

import collection.JavaConversions ._

不要与 JavaConverters混淆._ 我确实拥有。

希望这有助于其他人。

Hope this helps someone else.

这篇关于Scala Java Error:值过滤器不是java.util.Map的成员。在课外工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆