Я добавляю/редактирую объекты, которые являются значениями в хэш-карте с разными ключами.
Однако редактирование одного объекта в хэш-карте, похоже, редактирует их все (?)
Что я здесь делаю неправильно?
Во-первых, мой (плохо названный) класс hashmap:
import java.util.HashMap;
public class hashmap {
static HashMap<Integer, exObj> hm;
hashmap(){
hm = new HashMap<Integer, exObj>();
}
public void createVal(){
for (int i = 0; i<10; i++){
hm.put(i, new exObj(i));
}
hm.get(2).setValue();
}
public void printVal(){
for (int i = 0; i<10; i++){
System.out.println(hm.get(i).getValue());
}
}
public static void main(String args[]){
hashmap hmap = new hashmap();
hmap.createVal();
hmap.printVal();
}
}
Во-вторых, мой простой класс exObj:
public class exObj {
private static int value;
exObj(int i){
value = i;
}
public void setValue(){
value = value + 1;
}
public int getValue(){
return value;
}
}
возвращает вывод:
10
10
10
10
10
10
10
10
10
10