2016-08-03 4 views
3

Scala의 Java 배열에서 map을 사용하고 싶습니다. 그래서Java 배열을 Scala 컬렉션으로 변환

import scala.collection.JavaConverters._ 

java.util.Locale.getAvailableLocales.asScala // doesn't compile 

을 나는 스칼라 수집 또는 반복자에 자바 배열을 변환 어떻게 : 일반 자바 컬렉션의 경우, 나는 배열이 변환이 작동하지 않습니다, 그러나

import scala.collection.JavaConverters._ 

new java.util.ArrayList[Int](1).asScala.map(_.toString) 

를 사용할 수 있습니다 알고 또는 내가 맵 할 수있는 무엇인가?

답변

3

Java 배열에서 map을 사용하려면 암시 ​​적 변환을 가져올 필요가 없습니다. 스칼라 셸에서 다음을 실행 해보십시오 :

java.util.Locale.getAvailableLocales.map(_.toString) 

자바 배열을 통해 mapfilter처럼 사용 기능을 허용하는 암시 적 변환은 암시 적으로 수입 된 Predef, 함께 제공됩니다.

독자가 대답했듯이 배열을 다른 모음으로 명시 적으로 변환 할 수도 있습니다 (이전에 언급 한 암시 적 변환 덕분에 가능).

+0

허. 나는 IntelliJ가 그것이 작동하지 않는다고 말하고 있다고 생각했다. 오 잘. –

4

AAND 난 그냥 그것을 발견 : 어떤 암시 컨버터, 또는 아무것도

Locale.getAvailableLocales.to[Seq] 

필요가 없습니다.

관련 문제