以下のコードの出力結果は
1 1 1
になりますが、Integerがオブジェクト型であるなら1 2 3になりそうですがなぜこうなるんでしょうか?

public class TestMap {
private static final HashMap<String, Integer> t = new HashMap<String, Integer>();
private static final String a = "a";

public static void main(String[] args) {
increment();
System.out.println(t.get(a));
increment();
System.out.println(t.get(a));
increment();
System.out.println(t.get(a));
increment();
}

private static final void increment() {
Integer r = t.get(a);
if (r == null) {
t.put(a, 1);
} else {
r++;
}
}
}