JavaScript

JavaScriptのループ その2

前回はJavaScriptで配列のループをする場合はCスタイルのループを使うようにした。 ECMAScript5thをサポートしている最近のブラウザでは配列のメソッドとしてforEachが使える。 こんな感じ [ 31, 45, 52 ].forEach(function(...

JavaScript

JavaScriptのループ その1

JavaScriptで配列をループするときには for in ループは使えない。 例えば、以下のような場合は要素ではなく、インデックスがとり出されてしまう。 # print関数が引数を文字列で出力するとして。 var a = [ 1, 2, 3, 4, 5 ]; for...

Java

null許容コレクションと不許容コレクション

Javaのコレクション型の中には要素(Mapの場合はキーも)としてnullを許容するものと許容しないものがある。例えばHashMapはキーと値にnullを許容するけど、TreeMapはキーとしてnullを許容しない。 なんでこんなことになっているかというとTreeMapは要素をソ...

Java

Javaで空のリストを返す

メソッドからコレクションを返す場合、無効な状態を表すのにnullを返すのではなく、要素数0のコレクションを返すのが良い作法とされている。 でも、その度に新しいインスタンスを作成するのは無駄なようにも思える。 そういう場合はjava.util.Collectionsクラスのem...

Java ジェネリクス

Javaでのraw型の警告対処

Javaで古いソースコードの改修をするときにジェネリクスを使っていないraw型のコレクションを取り扱わなければいけない時がある。 まるごとリファクタリングできればいいんだけど、外部ライブラリになっていていじれない場合は警告を抑制する必要がある。 例えば、以下のようにraw型の...