Javadoc говорит , что это:
«Возвращает неизменный список, содержащий только указанный объект. Возвращенный список сериализуем.»
Ты спрашиваешь:
Зачем мне нужен отдельный метод для этого?
Прежде всего для удобства ... чтобы вам не пришлось писать последовательность утверждений для:
- создать пустой список объектов
- добавить элемент к нему, и
- оберните это неизменной оберткой.
Это также может быть немного быстрее и / или сэкономить немного памяти, но маловероятно, что эти небольшие сбережения будут значительными. (Приложение, которое создает огромное количество одноэлементных списков, по меньшей мере необычно.)
Как неизменность играет роль здесь?
Это часть спецификации метода; смотри выше.
Существуют ли какие-либо особые полезные варианты использования этого метода, а не просто удобный метод?
Ясно, что есть случаи, когда удобно использовать singletonListметод. Но я не знаю, как бы вы (объективно) различали обычный вариант использования и «особенно полезный» ...