HashMap for noobs - compilator“找不到符号 - 方法get(java.lang.string)”

时间:2010-02-14 21:58:47

标签: java hashmap

我自己无法找到解决方案。请给我一个提示或其他东西

import java.util.*;


       import java.io.*;

        class Fulgleinfluens {
        public static void main(String[] args) {

        HashMap <String, Komm> Komm = new hashMap<String, Komm>();

        int teller = 0;

         try {
         Scanner FilKom = new Scanner(new File("KommuneKoordinater.txt"));

         while(FilKom.hasNextLine()) {
      String linje = FilKom.nextLine();
      String [] dellinje = linje.split(",");
      String kommune = dellinje[0];
      String fylke = dellinje[1];
      String lengdegrad = dellinje[2];
      String breddegrad = dellinje[3];

      Komm enKom = new Komm(kommune, fylke, lengdegrad, breddegrad);
      Komm.put(kommune, enKom);
      teller++;

         }
     } catch (Exception e) {
         System.out.println("En feil oppsto ved lesing av fil");
     }
     System.out.println("Lest "+teller+" antall linjer");
        }

        void getKommuneMap () {
     String kommune = "Sarpsborg";
     Komm enKom = (Komm) Komm.get(kommune);
        }
        }

        class Komm {
        String kommune;
        String fylke;
        String lengdegrad;
        String breddegrad;

        Komm(String kommune, String fylke, String lengdegrad, String breddegrad) {
             this.kommune = kommune;
             this.fylke = fylke;
             this.lengdegrad = lengdegrad;
             this.breddegrad = breddegrad;
        }
        }

3 个答案:

答案 0 :(得分:1)

您不能将地图实例命名为与类Komm的名称相同。将其更改为komm,它应该没问题。现在,您正尝试在Komm而不是HashMap.get()上调用静态方法。

答案 1 :(得分:0)

您的进口是否正确?试试:

import java.util.*;  // or java.util.HashMap 
import java.io.*;

我看到进口已更正。但是你的代码搞砸了。您的Komm变量定义了很多次。

答案 2 :(得分:0)

您尝试调用Komm.get(),只有在get()被定义为类Komm中的静态方法时才会有效。据我所知,事实并非如此。