本文へスキップ
← 記事一覧に戻る

javaのvarについて調べてみた

javaのvarについて

var型はJava10から導入されたローカル変数の型推論です。varを使用することで変数の型を明示しなくても右辺の初期化式からコンパイラが自動的に型を判断してくれます。

基本的な使い方

型名の代わりにvarを使用します。

  void main(){
    // 従来の書き方(Java 9以前)
    String message = "Hello, Java!";
    List<Map<String, String>> complexList = new ArrayList<Map<String, String>>();
 
    // varを使った書き方(Java 10以降)
    var varMessage = "Hello, Java!"; // 右辺からString型として推論される
    var complexVarList = new ArrayList<Map<String, String>>(); // 記述がスッキリする
  }

メリット

冗長な型宣言を省略することでコードが短くなり、可読性が向上する。変数名やそのものやビジネスロジックに意識を集中させやすくなる。

  • 注意点
    1. 動的型付けになるわけではない。 JavaScriptのvarとは異なり、javaのvarはコンパイル時に型が決まる静的片付けです。一度Stringとして推論された変数は後から数値を代入することはできません。
    2. 型がわかりにくくなる乱用は避ける。 右辺を見ても直感的にわからない場合はあえてvarを使用せずに明示的に型を記述するほうがわかりやすい場合もあります。
      • 非推奨の例:var result = caluclata(); 戻り値が数値なのか文字列なのかわかりにくい。