ImmutableList.of(E[])
не хранит и не хранит массив, который ему передается напрямую (он не будет неизменным, если это будет сделано, что победит точку класса).Это было объявлено устаревшим по причинам именования.Если вы посмотрите на реализацию, это:
public static <E> ImmutableList<E> of(E[] elements) {
return copyOf(elements);
}
Так что мой совет - просто использовать ImmutableList.copyOf()
в целом.Если вы знаете, что просто оборачиваете массив для внутреннего использования или чего-то подобного, не стесняйтесь сохранять копию и просто использовать Arrays.asList
, но я бы предпочел ImmutableList
для API.