Множественный объект класса в HashMaps

88
9

У меня проблема с созданием объектов класса B, все объекты должны быть раздельными. Но когда я вношу изменения в один из объектов, все объекты делают одно и то же изменение. Как это должно быть осуществлено? Это пример кода:

КЛАСС А:

public class A {

private static HashMap<String, B> map = new HashMap<String, B>();
public void newObject (String name) {
if (map.containsKey(name)) {

} else {
Person person = new Person (name);

map.put(name, person);

}
}

//This method gets called several times, to create several objects

//But it everytime i create a new object, all the old/existing objects change too.

}

КЛАСС Персонал:

public class Person {
private static String name;

public Person (String name) {
this.name = name;
}

}

спросил(а) 2021-01-25T23:12:54+03:00 4 месяца, 2 недели назад
1
Решение
88

Измените name внутри Person на статичное, чтобы просто быть частным (сделав его переменной-членом).

ответил(а) 2021-01-25T23:12:54+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема