Scalaの強力な拡張:コレクション

Ken published on
2 min, 250 words

Categories: Programming

今日、Scalaって強力だなぁ〜と思ったことを2つ。

まず、コレクションの扱い。 JavaだとIteratorにして、nextで・・・みたいな実装をすることがあるが、Scalaだとこれがめんどい。 foreach使いたいのに・・・というときはこの一行を!

import scala.collection.JavaConversions._

これで、 List<String> だとしても、foreachメソッドが追加されます。 (Scalaのバージョンが2.8の場合)

参考URL ■ Twitter / Kota Mizushima: @itoasuka import ....JavaC ... http://twitter.com/kmizu/status/12477994337

import ....JavaConversions._ すれば、あとは、scalaの*mutableな*SetからJavaのSetへの自動変換が提供されます。

もうひとつ、強力だと思ったのはキャスト。 Javaではこう書く。

((Text)text).getValue();

Scalaだとこう書く。

text.asInstanceOf[Text].getValue

直感的〜!!ということです。

キャスト慣れしてる場合はなにそれ?って感じかもしれないけど、左から右に、思い通りに書けるのがステキ。