Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从单独的jar访问HashMap_Java_Jar_Import_Hashmap_Public - Fatal编程技术网

Java 从单独的jar访问HashMap

Java 从单独的jar访问HashMap,java,jar,import,hashmap,public,Java,Jar,Import,Hashmap,Public,所以我在JarFile1.jar中有这个代码: publicstatichashmap myHashMap=newhashmap() 如何使用import在单独的JarFile2.jar中访问该变量?首先,这听起来根本不是一个好的做法。允许访问像地图这样的对象的一个区域不是一个好主意(你可以很容易地把数据弄得乱七八糟,而不需要注意) 如果您想从另一个类访问数据,可以实现一个公共方法,如public double[]getData(String key),并将其导入到另一个jar中。另外,请注意,

所以我在
JarFile1.jar中有这个代码:

publicstatichashmap myHashMap=newhashmap()


如何使用
import
在单独的
JarFile2.jar
中访问该变量?

首先,这听起来根本不是一个好的做法。允许访问像地图这样的对象的一个区域不是一个好主意(你可以很容易地把数据弄得乱七八糟,而不需要注意)


如果您想从另一个类访问数据,可以实现一个公共方法,如
public double[]getData(String key)
,并将其导入到另一个jar中。另外,请注意,在执行第二个jar时,需要将第一个jar添加到类路径中。

将getter和setter放在jar1File中的该变量中:

class MyClass {
public HashMap<String, Double[]> getMyHashMap() {
    return myHashMap;
}
public void setMyHashMap(HashMap<String, Double[]> myHashMap) {
    this.myHashMap = myHashMap;
}
}
因此,当您要导入时,您可以访问该var


希望有帮助:)

如果变量是公共静态的,为什么需要getter和setter呢。您可以像MyClass.myHashMap一样访问它。
class MyClassJar2 {
    public MyClassJar2() {
         MyClass.getMyHashMap();
    }
}