Java Can';t向非活动类中声明的哈希映射添加数据

Java Can';t向非活动类中声明的哈希映射添加数据,java,android,hashmap,android-studio,Java,Android,Hashmap,Android Studio,我在非活动类中声明了如下哈希映射: public class Wifi { HashMap<String, String> AccessPoints = new HashMap<String, String>(); AccessPoints.put("AP1", "first_ap"); public ArrayList<Integer> scanWifi(Context context) { // code

我在非活动类中声明了如下哈希映射:

public class Wifi {
    HashMap<String, String> AccessPoints = new HashMap<String, String>();
    AccessPoints.put("AP1", "first_ap");

    public ArrayList<Integer> scanWifi(Context context) {
            // code here
    }
}
公共级Wifi{
HashMap AccessPoints=新HashMap();
访问点。放置(“AP1”、“第一个ap”);
公共阵列列表scanWifi(上下文){
//代码在这里
}
}
然后我尝试向哈希映射添加数据,但在Android Studio中出现了“无法解析符号”错误


当我放置
AccessPoints.put(“AP1”,“first_ap”)在类中的函数中,它似乎可以工作

Java中的变量应该使用一个小的起始字母。它可以考虑Access一个新类,尽管它只是声明变量的名称。 尝试更改名称中的第一个字母,可能会有所帮助

HashMap<String, String> accessPoints = new HashMap<String, String>();
    accessPoints.put("api","first");
HashMap accessPoints=newhashmap();
accessPoints.put(“api”、“第一”);
如果没有帮助,可能是范围问题,所以请为您的问题添加更多上下文

AccessPoints.put("AP1", "first_ap");
调用方法应在以下块中完成:

  • 一种方法
  • 静态初始值设定项
  • 实例初始值设定项
  • 构造器

此地图可能是某个类别的成员。您没有指定它的定义位置。 如果您想从另一个类访问它,您应该使其他类可以访问它(通过将其公开),并通过引用创建它的对象来访问它

例如:

class X {
   ...
   public HashMap<String, String> accessPoints = new HashMap<String, String>();
   ...
}

class Y {

...
   X xObj = new X();
   xObj.accessPoints.put ("fff","yyy");
...
}
X类{
...
public HashMap accessPoints=new HashMap();
...
}
Y类{
...
X xObj=新的X();
xObj.accessPoints.put(“fff”、“yyy”);
...
}
当然,从面向对象的角度来看,最好将映射设置为私有,并通过方法从其他类访问它

class X {
   ...
   private HashMap<String, String> accessPoints = new HashMap<String, String>();
   ...
   public void addAccessPoint (String key, String value) {
       accessPoints.put(key,value);
   }
}

class Y {

...
   X xObj = new X();
   xObj.addAccessPoint ("fff","yyy");
...
}
X类{
...
private HashMap accessPoints=new HashMap();
...
public void addAccessPoint(字符串键、字符串值){
accessPoints.put(键、值);
}
}
Y类{
...
X xObj=新的X();
xObj.addAccessPoint(“fff”、“yyy”);
...
}

添加更多代码,例如您在哪里声明地图并访问它?似乎是与作用域相关的问题。@EldarMensutov消息是“无法解析符号'put'”