Java 速習チュートリアル

Java var キーワード

1. var キーワード

var キーワードは、2018年にリリースされた Java 10 で導入されました。
var キーワードを使用すると、割り当てられた値に基づいて、コンパイラバリアブル(変数)のタイプ(型)を自動的に検出します。

これにより、特に長くて複雑なタイプを扱う場合に、タイプの重複を避けてよりクリーンなコードを記述できるようになります。
たとえば、int x = 5; と書く代わりに、次のように記述できます。

1.1 コード例

var x = 5;  // x は int として扱われます
System.out.println(x);

var を使用すると、コンパイラは 5int であることを理解します。

2. 様々なタイプでの使用例

以下の例は、代入する値に基づいて、var がどのように異なるタイプのバリアブルを作成できるかを示しています。

2.1 コード例

var myNum = 5;         // int
var myDouble = 9.98;   // double
var myChar = 'D';      // char
var myBoolean = true;  // boolean
var myString = "Hello"; // String

3. 使用上の重要な注意点

var キーワードを利用する際には、いくつかの制約を理解しておく必要があります。

3.1 値の同時割り当て

var は、値を同時に割り当てる場合にのみ機能します。値の割り当てなしに var x; のように宣言することはできません。

var x; // エラーが発生します
var x = 5; // 正解です

3.2 タイプの固定

一度タイプが決まると、そのバリアブルのタイプを後から変更することはできません。

var x = 5;  // x は int になります
x = 10;     // OK - 引き続き int です
x = 9.99;   // エラー - int に double を代入することはできません

4. var を使用すべきタイミング

単純なバリアブルの場合は、通常 intdoublechar などのタイプを直接記述したほうが明確です。
しかし、ArrayListHashMap のようなより複雑なタイプの場合、var を使用することでコードを短くし、リーダビリティを向上させることができます。

4.1 複雑なタイプでの例

// var を使用しない場合
ArrayList<String> cars = new ArrayList<String>();

// var を使用する場合
var cars = new ArrayList<String>();

このように、var は冗長な宣言を排除し、ロジックの本質に集中できるモダンな開発スタイルをサポートします。