2014-11-17 90 views
0

Scala中我有這樣的功能:將Java HashMap來斯卡拉地圖

def generateString(format: String, 
    parameters: Map[String, String] = Map()) { 

    generate(format, parameters)  
} 

而現在,我想打電話給它構成了Java

Map<String, String> params = new HashMap<String, String>(); 
params.put("test1", "test2"); 
Generator.generateString("", params); 

,但我得到的是不能轉換的形式Java錯誤映射到斯卡拉地圖。

那麼,如何解決這個問題。

p.s.我是斯卡拉新手。

+0

http://stackoverflow.com/questions/11903167/convert-java- util-hashmap-to-scala-collection-immutable-map-in-java – ponythewhite

回答

1

更改您的工具的簽名:

def generateString(format: String, 
    parameters: java.util.Map[String, String] = new java.util.HashMap()) { 

或者在Java代碼中使用Java到斯卡拉轉換器:

Generator.generateString("", scala.collection.JavaConversions.mapAsScalaMap(params)); 
+0

對於第一個解決方案,我得到錯誤: - 對象java.util.HashMap不是一個值 – user3714967