Mam pytanie o wywiadzie:(Java core)
public Integer v1 = 127;
public Integer v2 = 127;
public Integer v3 = 513;
public Integer v4 = 513;
public void operatorEquals(){
if (v1==v2)
System.out.println("v1 == v2");
else throw new RuntimeException("v1 != v2");
if (v3==v4)
System.out.println("v3 == v4");
else throw new RuntimeException("v3 != v4");
}
**Result**: java.lang.RuntimeException: **v3 != v4**
można wyjaśnić: dlaczego? Nie mam żadnych sugestii.
Nie będę tego westchnął. –
Czy możesz wyjaśnić bardziej szczegółowe ...? – user2171669
Edytowałem, aby wyświetlić kod "Integer # valueOf()". Jak widać, między IntegerCache.low (-128) a IntegerCache.high (+127), w rzeczywistości nie tworzy się nowej liczby całkowitej. –