Мне нужен класс, который поддерживает интернирование, как класс Java String
. При создании экземпляра класса он должен возвращать уже существующую ссылку, если ссылка с такими же параметрами уже существует. В противном случае он должен вернуть новую ссылку. Такие что:
Foo a = new Foo(5);
Foo b = new Foo(5);
Foo c = new Foo(6);
a == b
a != c
1) Задача фабрики состоит в том, чтобы поддерживать таблицу уже существующих объектов или таблица обычно является просто статической переменной внутри самого класса?
2) Что такое таблица уже существующих объектов? Это набор объектов, который вы просматриваете каждый раз при запросе экземпляра, или это карта, в которой ключи - это объекты, а значения - параметры?