Java未解析的符号

时间:2015-01-21 20:50:31

标签: java intellij-idea

我希望这是一个令人头疼的问题,而且很容易回答,但我是新的,无法弄明白。我只是尝试定义HashMap并使用" put"来初始化它。方法,但我的IDE(Intellij)给了我"无法解析符号"错误放在" put"。我在下面创建了一个简单的例子。让头颅开始。

package CSRLogin.NewAccount;

import java.util.HashMap;
import java.util.Map;

public class MapTest {

    Map<String, String> myMap = new HashMap<String, String>();
    myMap.put("A", "B");
}

1 个答案:

答案 0 :(得分:1)

将代码放在某种代码块中,例如方法或构造函数:

public class MapTest {
    // Constructor
    public MapTest() {
        Map<String, String> myMap = new HashMap<String, String>();
        myMap.put("A", "B");
    }

    // main-method
    public static void main(String[] args) {
        Map<String, String> myMap = new HashMap<String, String>();
        myMap.put("A", "B");
    }
}

如果您希望将地图存储为实例变量,可以执行以下操作(如果使用构造函数):

public class MapTest {
    private Map<String, String> myMap = new HashMap<String, String>();

    // Constructor
    public MapTest() {
        myMap.put("A", "B");
    }
}

另一种方法是使用静态变量来保存数据。然后你也可以使用这样的静态初始化器:

public class MapTest {
    static Map<String, String> myMap = new HashMap<String, String>();

    {
        myMap.put("A", "B");
    }
}

然后您必须通过班级名称访问地图:

int size = MapTest.myMap.size();

有关详细信息,请参阅以下资源: