Dlaczego wyświetla się equal mimo, że teoretycznie te obiekty są różne i powinniśmy użyć metody equals a nie ==?
public class Main {
public static void main(String[] args) {
String[] tab = {"1","1","3","4"};
if(tab[0]==tab[1])
System.out.println("equal");
}
}
Czy to jest optymalizacja kompilatora która do dwóch pierwszych referencji przypisuje ten sam obiekt?(nie powinno mieć to skutków ubocznych skoro stringi są immutable)
scibi92