2007-12-04から1日間の記事一覧

ブレースと一貫性

Type1(主にC#) if (a == b) { a.SetHoge(b); } else { b.SetHoge(a); } Type2(主にJava) if (a == b) { a.setHoge(b); } else { b.setHoge(a); } C#からJavaへの移植。Type1からType2のブレーススタイルに変更するのが地味に面倒だ。 JavaでType1のスタイル…

JavaのAutoBoxingって..

JavaはJ2SE5(Tiger)でC#に似たAutoBoxingが導入された。C#のintとInt32等の関係とは違い、Javaの場合はプリミティブ型をどこかの段階でラッパークラスに変換しなくてはならない。これはそもそも書き手にBoxingを意識させないためなんだろうけれど、結果とし…

JavaのAutoBoxingって..(追記)

bleis-tiftさんからコメントで情報を頂いたが、JavaのAutoBoxingで不思議な?振る舞いになるのは、プリミティブをラッパーに変換する際にある範囲の値はキャッシュから返しているからだそうな。オートボクシング・アンボクシングの注意 - きしだのはてな なる…