1.
- Byte, Short, Integer, Long wartość pomiędzy -128 a 127
- Boolean true lub false
- Character wartośc pomiędzy '\u0000' a '\u007f'
2. Tak poprzez ustawienie -XX:AutoBoxCacheMax=size w jvm
  • Odpowiedz
1. true false
2. ponieważ v1 i v2 to string literals, wg java language specyfication "A string literal is always of type String" https://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.10.5
jvm używa w przypadku string literals koncepcji string interning, więc referencje v1 i v2 będą wskazywać na ten sam obiekt. Natomiast w przypadku v3 będzie utworzony nowy obiekt ponieważ operator konkatancji wg specyfikacji zawsze tworzy nowy obiekt https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.3.3

*
- 1 użycie metody equals
- 2 porównanie wyników
  • Odpowiedz