教育や研修などで、「型変換→キャスト」と教えられる事が多いと思います。
long l = 465L; int i = (int) l;といった感じ。
ただ「キャスト→型変換」は必ずしも正ではない。
char c = '4'; int i = (int) c;このケースはコンパイルエラーにならないし、
実行時エラーにもならない。
i の値は 4 ではなく、'4' という Unicode の文字コードを格納しています。
つまり、コーダの意図した結果にはなりません。
Javaを覚えたての頃は、型を置き換えるのに
頻繁にキャストを使っていましたが、これは安全ではないです。
できるなら、ジェネリクス等を用いて、
キャストしなくてもいいコードを目指す方が良いと思います。
でわでわ。
0 件のコメント:
コメントを投稿