エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

JJUGナイトセミナー Java SE 10 / JDK10リリース特集 参加報告

きっかけ

Java10は、リリース前から調べていたので、興味が強かった。
行ってきたのに何も記録を残さないと忘れると思うので、書くに至る。

var

varが入った理由

クドイ文章を防ぎたい。

varが入ることについて

動的型付けではない。
型の概念は存在する。

varがいままで入らなかった理由

書きやすさより、読みやすさを優先していたから。

しかし、varにしても読みやすさは変わらなかった。
使い方を考えれば、むしろ可読性は上がる。

なぜローカル変数だけ?

フィールド変数は、他のソースファイルに跨って使われる可能性が高い。
そうした場合、どういう型なのか、大元のファイルを参照する必要があるため、面倒くさくなるだけだから。

IDEの機能で見ることもできるとは思うが、IDEを使うことを強いることは、奨励できない。

制限

  • 初期化必須
  • null初期化NG
  • 配列の「[]」は不要
  • 配列のリテラルは不要
  • 変数を使った初期化はNG

気をつけること

varは、文脈によって、キーワードになったりする。

例:var var = var()

上記の例では、コンパイルは通る。しかし、書かないほうが無難

varを使う原則

  • 書きやすさ < 読みやすさ
  • ローカルコードで理解できる
  • IDEに依存しない
  • 明示的な型指定とはトレードオフ関係にある。
    使うべきところと、使わないところの区別を意識して使う必要がある。
  • 変数名で内容が推測できるようにする
  • スコープは短く
  • 初期化で型が分かるなら、varの利用を検討
  • ジェネリックスの利用には注意