両方をキャストと表現して良いのかよくわかりませんが、どう表現してよいのかわからないので、以下、キャストと表現します。
違いがよくわからなかったので、C時代から使っているキャストを使っていました。で調べてみると、以下のような違いがあることがわかりました。
- (型)によるキャスト:型が異なると例外
- ASによるキャスト:型が異なるとNULL
まぁそもそもキャストすると言う行為自体がアレなんですが、ASにしておけば引数がNULLの場合と型が異なる場合をNULLかどうかで判定できます。
パフォーマンス的にどちらが良いというのは不明ですが、例外処理は基本的に重たいので、おそらくASのほうがよいと考えられます。その辺も含め、両方の処理が同じであればASのほうがいいのかもしれませんね。
0 件のコメント:
コメントを投稿