일부 Java 코드에서 scala.collection.immutable.HashMap<A,B>
을 사용하며 스칼라 고유 메소드 toArray()
을 사용하여 맵의 내용 (또는 값)을 배열로 변환하려고합니다.Java에서 Scala의 HashMap.toArray()를 호출하는 방법은 무엇입니까?
저는 현재 JavaConversions.asMap()
등을 사용하고 있지만 전통적이지만 추악한 Java toArray(T[])
메서드를 사용합니다. 그러나 대신 스칼라 내장 메서드를 직접 호출하는 것이 좋습니다.
Java에서 수행해야합니다. 스칼라에서 코드를 다시 작성하는 것은 옵션이 아닙니다.
저는 스칼라 2.9.1을 사용하고 있습니다.
인 것처럼 행동하지 않아야합니다. ClassManifest $ .MODULE $이 ClassManifest.scala에 정의 된 ClassManifest 객체라고 가정합니다. "이 코드는 컴파일러에서 사용하기위한 것이며 클라이언트 코드에서 사용해서는 안됩니다."라는 문법에 대해 걱정합니다. –
"companion object"에 대해서는, 평범한 Java 유형에는 사용할 수없는 것으로 보입니다 (Scala가 생각보다 강력하지 않은 경우). 이 경우 ClassManifest $ .MODULE $ .fromClass (SomeType.class) Scala 유형 (예 : 이미 Tuple2 $ .MODULE $을 가지고있는 Tuple2)에도 사용할 수 있습니까? –
(SomeType []) (... 일부 스칼라 컬렉션) .toArray (ClassManifest $ .MODULE $ .fromClass (SomeType.class))는 잘 작동하는 것 같습니다. 나의 유일한 걱정은 ClassManifest가 클라이언트 코드에 대한 제한을 벗어난다고 주장하는 문서이다. –