Доступ к хэш-карте Java из другого класса - PullRequest
0 голосов
/ 12 января 2019

У меня есть HashMap с сеттером и геттером в классе, когда я пытаюсь получить к нему доступ из другого класса, я получаю ноль

как мне получить доступ к HashMap из другого класса? вот код

public class test {

    private HashMap<String, String> test= new HashMap<String, String>();

    public void settest(String key, String value) {
        test.put(key, value);
    }

    public String gettest(String key) {
        return test.get(key);       
    }

}

public class b{
    test ts=new test();
    ts.settest("location","Chicago");
}


public class c{
    test ts=new test();
    System.out.println(ts.gettest("location"));
}

в классе c я выхожу, обнуляется

1 Ответ

0 голосов
/ 12 января 2019

Вы создали два разных экземпляра класса test, поэтому их HashMaps также будут другими.

Я не знаю вашей конечной цели, но одно решение - определить вашу HashMap как статическое поле. В этом случае эти два экземпляра класса test будут использовать общий HashMap.

Ваш модифицированный код:

public class test {

    private static HashMap<String, String> test= new HashMap<String, String>();

    public void settest(String key, String value) {
        test.put(key, value);
    }

    public String gettest(String key) {
        return test.get(key);       
    }

}

public class b{
    test ts=new test();
    ts.settest("location","Chicago");
}


public class c{
    test ts=new test();
    System.out.println(ts.gettest("location"));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...