Учитывая:
File f = new File("test.txt");
таким образом, каждый раз, когда я создаю ссылку на файл "text.txt", я получаю другой объект File.
Мне нужно, чтобы, если файл такой же, то я получал тот же File
объект. (Чтобы быть точным и последовательным с примером, это должен быть тот же самый канонический путь, но так как это только пример, я не хочу углубляться в идентичность файлов)Это может быть легко реализовано с помощью статического getInstance, который проверяет ранее созданные экземпляры File, сохраненные в Collection, и возвращает сохраненный экземпляр, если он присутствует.
Это, кажется, "более общий шаблон синглтона", где singletonозначает один экземпляр на приложение, в то время как здесь у нас есть один экземпляр для каждой отдельной идентичности (в этом примере каждый путь к файлу будет иметь только один объект File).
Вопрос , поскольку синглтон хорошо документирован (и, возможно, чрезмерно документирован), этот шаблон также «описан» и стандартизирован?
(Это именно то, что происходитв некоторых реализациях jvm для целых чисел <128 для целей оптимизации, а не на что можно положиться). </p>