Object
type のインスタンスをdouble にキャストする必要がある場合、次のうちどれが優れていますか?またその理由は?
Double d = (Double) object;
または
double d = (double) object;
Object
type のインスタンスをdouble にキャストする必要がある場合、次のうちどれが優れていますか?またその理由は?
Double d = (Double) object;
または
double d = (double) object;
object
違いは、最初の形式は null の場合に成功し、2 番目の形式はNullPointerException
. したがって、object
null であることが有効な場合は最初の値を使用し、それがエラー状態を示している場合は 2 番目の値を使用します。
これ:
double d = (double) object;
次と同等です。
Double tmp = (Double) object;
double t = tmp.doubleValue();
(または((Double)object).doubleValue()
、わかりやすくするために 2 つの操作を分離するのが好きです。)
へのキャストは Java 7 でのみ有効であることに注意してください- Java 7 言語拡張ページdouble
からは明らかではありませんが、それが本当である理由は明らかではありません。