Что будет напечатано в результате выполнения программы?

class V {
    String s = null;
    V(String str){
        this.s = str;
    }
}

public class MyTest {
    public static void main(String[] args) {
        V v1 = new V("abc");
        V v2 = new V("abc");
        
        System.out.println((v1 == v2) + " " + v1.equals(v2));
    }
}
Explanation
метод equals() по умолчанию сравнивает ссылки, так же как и ==. Для "правильного" сравнения объектов, метод необходимо переопределить.

@Override
public boolean equals(Object obj) {
    return s.equals(((V)obj).s);
}

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты