Scalaを始めたばかりでJavaで書いてたことをどう書くのかよく混乱するので、メモ。
項目 | Java | Scala |
クラスオブジェクト | Foo.class | classOf[Foo] |
例外ハンドリング | try { .. } catch (Ex1 e) { .. } catch (Ex2 e) { .. } |
try { .. } catch { case e1: Ex1 => .. case e2: Ex2 => .. } |
リスト/配列作成 | list = new ArrayList() | list = List[T]() array = Array[T]() |
リスト追加 | N/A | list = list ::: List(x) |
配列追加 | list.add(x) | array ++ List(x) |
マップ作成 | map = new HashMap() | map = Map.empty |
マップ追加 | map.put(x, y) | map += x -> y |
シングルトン | staticでメンバに保持 | object { ... } |
イテレーション | for (i : list) ... | list foreach (i=> { ... }) |
キャスト | (Foo) bar | bar.asInstanceof[Foo] |
型判定 | foo instanceof Foo | foo.isInstanceof[Foo] |
内部型 | Foo.Bar | Foo#Bar |
シングルトンの型 | N/A | obj.type |
型パラメータ制約 | class Foo<T extends Bar> | class Foo[T <: Bar] (逆もclass Foo[T >: Bar]で可能) |
オブジェクト | Object | Any (primitiveを含む場合) AnyRef |
なんかまだまだあった気がするけど、気付いたら追加しよう。 なお、必ずしもsemanticalに同一ではないので注意してください。
匿名
画面が真っ暗、でもカーソルは出てる状況。
探して、ここにたどり着きました。
パスワード入力で、復活!
修理に出す寸前でした。ホントにありがとう!