我想创建某个类的多个实例,想公用一个HashMap对象,确保每个实例的HashMap一样,我想能用static,但不知道怎么用,自己试了没成功,请各位大师赐教
解决方案 »
- 关于使用exe4j时遇到的问题
- JTree右键弹出菜单,当文件夹展开时出问题?跪求大虾调试
- 在方法中返回集合类型时,是直接返回一个arr好,还是返回一个new ArrayList(arr)好?
- 关于Java线程问题
- 反序列化时遇到异常
- 怎么样进行深度复制呀?
- 谁能给一个socket长连接的实例?
- 一个关于RandomAccessFile的问题
- 多线程中一个线程使用一个专用的浏览器的问题
- 如何输出所有的ASCII码或Unicode字符?如何得到a,b等的ASCII码或Unicode?
- 辛辛苦苦写的课程设计不能用。进来吧!(大虾们,虾之大者,为国为民啊)
- 请问一个多线程的JAVA程序,有几个进程?
public static HashMap hm=new HashMap();
.....
}
这样不行吗?
import java.util.Map;public class A {
public static Map map = new HashMap();
public String id;
public A(String id) {
super();
this.id = id;
}
public String getId() {
return id;
} public void setId(String id) {
this.id = id;
}
}
测试代码
public static void main(String[] args) {
A a1 = new A("1");
a1.map.put("1", "1");
A a2 = new A("2");
System.out.println(a2.map.get("1"));
}
public class HashMapTest {
/**
* Creates a new instance of <code>HashMapTest</code>.
*/
public HashMapTest() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
MyClass my=new MyClass();
my.put(1,1);
MyClass you=new MyClass();
you.put(2,2);
System.out.println ("*"+my.hm.size()+"*");
System.out.println ("*"+you.hm.size()+"*");
}
}
class MyClass {
public static HashMap hm=new HashMap();
public void put(Object a,Object b){
hm.put(a,b);
}
}