В конструкторе своего класса я сопоставляю текущий объект (this) вместе с его ключом (строка, введенная в качестве параметра в конструкторе) в статический LinkedHashMap, чтобы я мог ссылаться на объект с помощью строка везде, где она мне может понадобиться позже.
Вот код (если поможет):
public class DataEntry {
/** Internal global list of DataEntry objects. */
private static LinkedHashMap _INTERNAL_LIST;
/** The data entry's name. */
private String NAME;
/** The value this data entry represents. */
private Object VALUE;
/** Defines a DataEntry object with a name and a value. */
public DataEntry( String name, Object value )
{
if( _INTERNAL_LIST == null )
{
_INTERNAL_LIST = new LinkedHashMap();
}
_INTERNAL_LIST.put( name, this );
NAME = name;
VALUE = value;
}
}
Проблема? Экземпляры этого класса не будут собираться сборщиком мусора, когда я закончу их использовать.
Мне просто любопытно, есть ли способ очистить экземпляры этого класса, когда я закончу их использовать, без необходимости каждый раз вручную вызывать метод Remove () или что-то еще (чтобы удалить его ссылку во внутренней LinkedHashMap, когда я Я имею ввиду).