Как сохранить список изменяемых объектов внутри неизменяемого класса - PullRequest
0 голосов
/ 12 июня 2018

У меня есть неизменный класс, в котором есть список объектов класса Mutable.

class Immutable
{
    final int id;
    final String name;
    final List<Mutable> list;
    Immutable(int id,String name,List<Mutable> list)
    {
        this.id=id;
        this.name=name;
        this.list=list;
    }

    public List<Mutable> getMutables()
    {
        List<Mutable> l=new ArrayList<>(this.list);
        return l;
    }

}

class Mutable
{
    String name;
    Mutable(String name)
    {
        this.name=name;
    }
}

Здесь метод My getMutables создает объекты и возвращает клонированные объекты.Но если так много потоков или запросит доступ к методу getMutables, то это приведет к созданию нескольких объектов, и вскоре из-за нехватки памяти придет ошибка.

что делать в методе getMutables, чтобы исходные объекты не изменялись и болееобъекты не созданы.

Пожалуйста, помогите

...