こんにちは、shinoです。毎日ボチボチプログラミングをしながら生活しています。その中での技術・エラーなどの紹介をしています。
今回は、Javaのエラーを紹介していきます。Javaを初めて使う方向けに書いてみます。私もこの記事を書いている時から始めています。ここから少しずつ学んで行こうかと思っているところでございます。
エラー内容
– HashMap を型に解決できません。 – Map を型に解決できません
どんなタイミングか
こんなコードを書いていました。以下のコードでエラーが出ます。
何が原因かわかりますか?
1 2 3 4 5 6 7 8 9 10 11 12 |
public class Main { public static void main(String[] args) { Map<String, Integer>prefs = new HashMap<String, Integer>(); prefs.put("test", 11); for(String key : prefs.keySet()) { int num = prefs.get(key); System.out.println(key + num); } } } |
このコードを実行すると、表題のようなエラーが表示されます。
対応策
原因は分かりましたか?
対応は簡単です。
結論から言うと、宣言が足りていません。
1 2 |
import java.util.HashMap; import java.util.Map; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { Map<String, Integer>prefs = new HashMap<String, Integer>(); prefs.put("test", 11); for(String key : prefs.keySet()) { int num = prefs.get(key); System.out.println(key + num); } } } |
おまけ
importは、まとめて行うことも可能です。
*は、ワイルドカードになっているので複数が含まれています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import java.util.*; public class Main { public static void main(String[] args) { Map<String, Integer>prefs = new HashMap<String, Integer>(); prefs.put("test", 11); for(String key : prefs.keySet()) { int num = prefs.get(key); System.out.println(key + num); } } } |
これでも問題なく出力されます。
最後に
お疲れ様です。エラーは解決できたでしょうか?
他にもエラー情報等も掲載してあるので読んでみて下さい。
解決できなければ、Java公式を確認してみるのもいいと思います。
ひと休憩の際におすすめ記事は「Exception in thread “main”のエラー解決法」です。時間があれば読んでみて下さい。
コメント