public class CityList{
public static void main(String[] args){
ConcurrentHashMap<Integer,String> hm=new ConcurrentHashMap<Integer,String>();
hm.put(10,"AAAA");
hm.put(11."BBBB");
}
}
// another class
public class Getcity extends CityList{
public static void main(String[] args){
public void showcity(int i)
{
system.out.println(hm.get(i);
}
我创建了一个类并在该类中实现了ConcurrentHashMap
。现在我想使用另一个类中的另一个方法访问该Map的特定元素。请帮助我。如果我将 i 值传递为10
,则应显示AAAA
。请告诉我怎么做。
答案 0 :(得分:4)
您应该使用ConcurrentHashMap
成员创建其他类,并将您在ConcurrentHashMap
类中创建的CityList
注入到这些类中 - 作为构造函数参数或调用setter方法
另一个选择是在CityList
类中使用getter方法,并让其他类访问该getter。
答案 1 :(得分:2)
你离你的想象很远。
您正在main()方法中声明并使用Map。局部变量对于“其他类”是不可访问的,尽管它们可以传递给其他类的方法/构造函数(并且匿名类可以访问最终的局部变量)。
这对你意味着什么?