Wiem, że jest to sprawa trywialna, ale chcę zadać to pytanie. Załóżmy, że mam metodę get, która zwraca ArrayList obiektów. Najpierw musimy zwrócić jego kopię? Jeśli tak, czy musi to być głęboka kopia tablicy ArrayList? Czy nadal musimy wykonać głęboką kopię, gdy obiekty wewnątrz niej są niezmienne? Jeśli użyjemy tego typu konstruktoraGłębokie kopiowanie podczas korzystania z ArrayList w java
ArrayList<T> arr = new ArrayList<>(collection);
następnie są elementy tablicy kopiowane lub nadal wskazują na starych wartości? Dzięki
OK, jeśli typem jest String, to mogę go zwrócić w ten sposób: return new ArrayList <> (yourCollection); – user2735714
Absolutnie. Ciągi są niezmienne, dlatego zwrot głębokiej kopii strun jest szczególnie bezcelowy. – aioobe