×
データ型と変数
var の使用には、コンパイラが型を確実に決定できるようにするための明確な制約ルールが存在します。 使用できるのは「初期値が伴うローカル変数の宣言」「for文の初期化式および拡張for文の要素宣言」「try-with-resources文」に限定されています。 以下の場所では var を使用することができず、記述した場合はすべてコンパイルエラーとなります。
  • クラスのフィールド(メンバー変数)宣言
  • メソッドの引数(パラメータ)および戻り値の型
  • 初期化子(初期値)を伴わないローカル変数宣言(例: var x;)
  • null で初期化する宣言(例: var obj = null;)
  • 配列の波かっこ初期化(例: var arr = {1, 2, 3}; ※ new int[]{1, 2, 3} は可)
  • ラムダ式の受け取りで型指定が曖昧な場合
また、var は「キーワード(予約語)」ではなく「予約済み型名」であるため、変数名やメソッド名に var という識別子を使用することは文法上可能です(例: int var = 10;)。