【エラー解決方法】Listで構文エラーが発生したときの対処法

こんにちは、湯本です。
 
Listに要素を追加する際に、構文エラーが発生しました。その原因と解決方法をご紹介します。環境は以下の通りです。

java
14

エラー内容

構文エラーがあります。"Dimensions" を挿入して ReferenceType を完了してください

エラー発生時のソース

import java.util.ArrayList;
import java.util.List;

public class MyList {
	
	public static void main(String[] args) {
		List<int> list = new ArrayList();
		list.add(1);
		list.add(2);
		list.add(3);
		list.add(4);
		
		System.out.println(list);
	}
}

エラー解決方法

まず大前提として、コレクションクラスの要素の型には、基本型を使用することができません。今回は基本型であるint型を使用していたため、上記構文エラーが発生しました。
 
解決方法として、基本型に対応する数値ラッパークラスのIntegerクラスを使用します。

import java.util.ArrayList;
import java.util.List;

public class MyList {
	
	public static void main(String[] args) {
		List<Integer> list = new ArrayList();
		list.add(1);
		list.add(2);
		list.add(3);
		list.add(4);
		
		System.out.println(list);
	}
}

結果は以下のように、Listの中身をコンソールで確認することができます。
[1, 2, 3, 4]

数値のラッパークラスは他にも用意されており、数値をオブジェクトとして扱いたい場合やコレクションの要素として数値を扱う場合に使用します。

数値ラッパークラス 基本型
Boolean boolean
Character char
Byte byte
Short short
Integer int
Long long
Float float
Double double

まとめ

いかがでしたでしょうか。
 
コレクションクラスはよく使いますので、一度覚えてしまえば今回のようなミスはないかと思います。また、ラッパークラスのほとんどは、基本型の頭文字を大文字にするだけですので、すぐに対処が可能です。
 
 
 
 
《関連記事》

Module not found: Error: Can’t resolve ‘sass-loader’ in ~
技術
2019.9.17(Tue)

Javaのjava.util.Mapをかっこよく使いこなしたい!

#プログラム#Java
 

Module not found: Error: Can’t resolve ‘sass-loader’ in ~
技術
2022.4.27(Wed)

【解説】Java初心者向けMapの使い方! HashMapで電話帳を作る

#プログラム#Java
 

Module not found: Error: Can’t resolve ‘sass-loader’ in ~
技術
2021.11.8(Mon)

【Java Stream API 超入門】 多重リストを纏めるflatMapと重複の削除を行うdistinct

#プログラム#Java
 

記事をシェア
MOST VIEWED ARTICLES