java中令牌的Hashmap语法错误

时间:2013-02-05 05:50:06

标签: java hashmap

我正在使用openscript IDE,我收到错误“令牌上的语法错误,删除这些令牌” 我的代码是

import java.util.Map;
public class HTMLObjectMap {

   HashMap<String, String> params = new HashMap<String, String>();
   params.put("test","test");
}

4 个答案:

答案 0 :(得分:7)

声明

params.put("test","test");

必须位于您尚未定义的方法内。即

public class HTMLObjectMap {

    HashMap<String, String> params = new HashMap<String, String>();
    public void method()
    {
        params.put("test","test");
    }
}

或者,您可能需要初始化程序,如

public class HTMLObjectMap {

    HashMap<String, String> params = new HashMap<String, String>();

    {
        params.put("test","test");
    }
}

答案 1 :(得分:1)

您需要将初始化代码放入大括号:

public class HTMLObjectMap {
    HashMap<String, String> params = new HashMap<String, String>();
    {
        params.put("test","test");
    }
}

或者如果您需要静态:

public class HTMLObjectMap {
    static HashMap<String, String> params = new HashMap<String, String>();

    static
    {
        params.put("test","test");
    }
}

答案 2 :(得分:1)

我认为你应该把你的地图设为私有,它不会破坏封装,getter和setter方法来访问&amp;在外面插入它的价值。

public class HTMLObjectMap {

   private HashMap<String, String> params = new HashMap<String, String>();
   {
       // initialize if required  
   }
   public void get(String key){
         params.get(key);
   }
   public String put(String key,String value){
         params.put(key,value);
   }
}

答案 3 :(得分:1)

您必须初始化该课程。 java类只有变量和方法。在类中,您可以声明变量或定义方法,无论您想要做什么,都意味着您必须定义方法。

public class HTMLObjectMap {
    HashMap<String, String> params = new HashMap<String, String>();
    // this is objects method.
    {
        params.put("test","test");
    }
    // this is your own method
    private void method1(){
        params.put("test1","test1");
    }
}