読者です 読者をやめる 読者になる 読者になる

opamp_sando's blog

クソザコが割りと適当なことを書くためにある備忘録です。あとたまに普通の日記も書きます

scalaのgenericsで特定の型のみを取る方法

厳密にはちょっと違うかもしれないけど、scalaのgenericsには特定のクラスのサブクラスのみを取ることを許すというようなことができるらしい。

例えば、数値系の型だけ取りたいようなクラスがあったなら

class Hoge[A <: AnyVal]{}

としてクラスを作るとAnyValのサブクラスでないとHoge[]に指定することができなくなる。

Hoge[Int] // OK
Hoge[Dobule] // OK
Hoge[String] // ERROR

という感じ。

ちなみにscalaのパッケージ構造は

http://www.h7.dion.ne.jp/~samwyn/Scala/scalapac.htm

に載ってた。

ちなみにこの記事は「Scala実践プログラミング」を参考にして書いてます。

Scala実践プログラミング―オープンソース徹底活用

Scala実践プログラミング―オープンソース徹底活用

Firefox ブラウザ無料ダウンロード