現世代Javaの動向 1
at TECH
102:デフォルトの名無しさん
06/09/05 01:40:53
>>101
確かに、var宣言された変数がメソッド呼び出しの返り値で初期化される
場合は、若干わかりにくいかもね。でも、ローカル変数で閉じてる限りは
大した差は無いと思う
> List makeList() {
> ...
> return l; //この行でlがListと確定
> }
> こういうのもコンパイラを数行いじるので対応できるものなの?
上のようなコードでちゃんと推論しようと思うと、さすがに数行いじるだけじゃ対応できない
自分が考えていたのは(おそらくC# 3.0のも)、var宣言の時点で初期化式の型で宣言される
ことが確定するようなもの。つまり、上のようなコードは
l = new LinkedList();// lはArrayList型なのでLinkedList型の値を代入できない
の時点でエラーになる。実用上、これで不便になるケースはたぶんほとんど無いと思う。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5495日前に更新/239 KB
担当:undef