ScalaからJsoupを利用しようとして詰まったのでやり方メモ。

1.起きたこと


Jsoupでselectを利用すると、返り値としてElementsというコレクションが得られます。これをいつもどおりforeachしてぐるぐるしようと思ったら、Elements.foreachが得られなかった。困った。

2.原因


どういうことかと思って調べてみると、以下のページに。
Collections - Java と Scala 間のコレクションの変換 - Scala Documentation
要するに、ScalaとJavaは両方共コレクションというものを持っているが、相互変換可能なだけで一応別物なのよ、と。

3.解決方法


ElementsはListインターフェースをimplementしているので、implicitな変換に対応していそうだ、ということで上記のページを参考に、以下のパッケージをimport
import collection.JavaConversions._
これでElements.foreachが反応してくれるようになりました。

関連