Привет. Недавно прочитал про класс Collections и его методы. Сразу решил проверить в идее пару нюансов. Есть такой метод у класса Collections
disjoint();
Который проверяет есть ли в коллекциях, переданных ему в параметры общие объекты (правильней будет сказать ссылки на объекты). Если есть - вернет false, если нет - вернёт true. Проверяю:
//Создаю два объекта типа String
        String s1 = new String("hello");
        String s2 = new String("hello");
//Пихаю их в свои листы
        ArrayList<String> arr = new ArrayList<>(Arrays.asList(s1));
        ArrayList<String> arr2 = new ArrayList<>(Arrays.asList(s2));
//Проверяю есть ли в моих листах одинаковые ссылки на объекты
        System.out.println(Collections.disjoint(arr,arr2));
Вывод:
false
Шо за дела?) Если создаю стринг обычно (т.е. без new), то ситуация такая же. Но это и понятно, т.к. одинаковые строки хранятся в String Pool. Но не строчные объекты созданные через new...