Javaのエラー「シンボルを見つけられません」の対処法を現役エンジニアが解説【初心者向け】

初心者向けにJavaのエラー「シンボルを見つけられません」の対処法について解説しています。このエラーの原因としてインポートコードが書かれていない場合などがあります。エラーの発生する場面の例と修正方法を見ていきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Javaのエラー「シンボルを見つけられません」の対処法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

そもそもJavaについてよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプJava講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

エラー「シンボルを見つけられません」の対処法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

「シンボルを見つけられません」と表示されたら?

Javaでコードを書いてコンパイルしたときに、「シンボルを見つけられません」と表示される場合があります。

これは、Javaにおけるコンパイル時のエラーの1つで、コードに問題があることを示しているものです。

具体的には、変数名が間違っていたり、クラス名が間違っていたり、メソッド名が間違っていたりする場合が多いです。

また、重要なミスとしては、インポートコードを書いていないケースがあります。

インポートコードはパッケージを使用するときに必須の構文です。

仮に、書かれていなければ、コードを修正してもエラーの解決にはつながらないため、注意してください。

 

[PR] Javaで挫折しない学習方法を動画で公開中

インポートコードを書く

インポートコードを書いていない場合のエラーは、単純にプログラムの先頭にコードを加えてコンパイルすれば問題ありません。

インポートコードの書き方は、以下になります。

import パッケージ名.クラス名;

 

実際にやってみよう

それでは、実際にインポートコードがない場合にエラーが起きてしまうプログラムについて、修正を加えてエラーの回避をしてみましょう。

public class SymbolErrorSample{ 
    public static void main(String[] args){
        // ArrayListの初期化 
        List<Integer> list1 = new ArrayList<Integer>(); 
        list1.add(0); list1.add(1); list1.add(2);
 
        // ArrayListを表示 
        System.out.println(list1);
    }
}

このコードを以下のようにコンパイルしてみると、「シンボルを見つけられません」というエラーが発生してしまいます。

SymbolErrorSample.java:6: エラー: シンボルを見つけられません
 List<Integer> list1 = new ArrayList<Integer>();
 ^
 シンボル: クラス List
 場所: クラス SymbolErrorSample
SymbolErrorSample.java:6: エラー: シンボルを見つけられません
 List<Integer> list1 = new ArrayList<Integer>();
 ^
 シンボル: クラス ArrayList
 場所: クラス SymbolErrorSample
エラー2個

エラーとなる原因はListとArrayListを使う部分で、インポートをしていないからです。

そこで、以下のようにコードを修正すると

import java.util.ArrayList;
import java.util.List;
public class SymbolErrorSample{ 
    public static void main(String[] args){
        // ArrayListの初期化 
        List<Integer> list1 = new ArrayList<Integer>(); 
        list1.add(0); list1.add(1); list1.add(2);
 
        // ArrayListを表示 
        System.out.println(list1);
    }
}

出力として、

[0, 1, 2]

が表示されて、コードがうまく動作していることがわかります。

 

執筆してくれたメンター

小倉翔悟(おぐらしょうご)

AIプログラミングを使って開発を行う大学3年生。

プログラミング歴は約3年でPythonは割と得意。

好きな物理理論は一般相対性理論で動物も好き。

 

大石ゆかり

Javaのエラー「シンボルを見つけられません」の対処法がよく分かったので良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でJavaやServletの技術を使ってWebアプリケーション開発を習得できるオンラインブートキャンプJava講座を開催しています。

挫折しない学習方法を知れる説明動画や現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。