2010-11-18 6 views
0

AWT.Transferableを使用して、実際にはjava.util.Arrays.ArrayList型の引数「data:Any」を取得します。このタイプに「データ」を明示的にキャストするにはどうすればよいですか? "ArrayList"型へのアクセス権がないようです...データの操作方法:java.util.Arrays.ArrayList型のいずれか?

+0

JavaのIIRC ArrayListは常に型なしです(つまり、ScalaのArrayList またはArrayList [Any])。個々の要素を個別にキャストする必要があります。 – Thomas

答えて

1

この

data match { 
    case jlist: java.util.List[_] => // I got an java.util.list! 
    case _ => // oops, unexpected! 
} 

は、タイプセーフ、asInstanceOfのケースのように発生しませんです。

1

なぜクラスを明示的に必要としますか? java.util.Listインターフェイスを使用できませんでしたか?

data.asInstanceOf[java.util.List[_]] 

キャストはお勧めできません。そのため、Scalaでは非常に酷いようです。

+0

ああ、そのトリックでした。 ArrayListのインターフェースをチェックしてください...ありがとう! – hotzen

関連する問題