所以我希望能够有一个公共哈希表(有点像你将有一个公共String或int等等字段)。我该怎么做呢?我尝试过这样的事情:
public class Home {
public static Hashtable<String, Double> test = new Hashtable<String, Double>();
public static void main(String[] args) {
test.put("A", 1.2);
test.put("B", 1.3);
test.put("C", 1.4);
System.out.println(test.get("A");
}
}
我希望能够在另一个类中访问Hashtable及其信息。这样做的方法是什么?我有足够的东西吗?感谢。
答案 0 :(得分:2)
public static void main(String[] args) {
Home.test.put("A", 1.2);
Home.test.put("B", 1.3);
Home.test.put("C", 1.4);
System.out.println(Home.test.get("A");
}
答案 1 :(得分:0)
您应该能够以Map
Home.test
但是,您不会添加任何初始值。你需要一个单独的方法来做到这一点。
答案 2 :(得分:0)
可以使用Home.test
Home.test.put("A", 1.2)
与static
联系,但您应该使用encapsulation。请注意,static关键字表示该类的所有实例共享同一个地图,如果您希望每个实例都是唯一的,则必须删除public class ClassWithTheTable{
private static Map<String, Double> table = new Hashtable<String,Double)>();
public Map<String, Double> getTable(){
return table;
}
public void setTable(Map<String,Double> table){
this.table = table;
}
//Rest of code ommited.
}
关键字。
将地图(最好使用界面)声明为私有并提供getter / setter。
{{1}}
答案 3 :(得分:0)
如果有多个线程访问该变量,可能要使用:
public static final Map<String, Double> test = new ConcurrentHashMap<>();
您可以使用
从其他班级进行访问double value = Home.test.get("A");