Utworzenie listy bez podania konkretnej implementacji

Utworzenie listy bez podania konkretnej implementacji
RU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 211
0

Cześć

Mam taki kod:

Kopiuj
List<String> lista1 = Arrays.asList("To", "jest", "lista");

Jakiego typu listę otrzymam?
Zastanawia mnie to, bo nie mogę np. napisać czegoś takiego:

Kopiuj
List<String> lista2 = new List<String>();
SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1452
1

Wszystko jest w dokumentacji...

  1. Nie możesz utworzyć instancji List, bo to interfejs.
  2. Dostaniesz fixed-size ArrayList - https://stackoverflow.com/questions/4658867/why-does-arrays-aslist-return-its-own-arraylist-implementation/4659150
Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
1

ZTCP to varargsy w Javie są implementowane za pomocą tablicy, a implementacja Listy zwracana z Arrays.asList po prostu używa tej varargsowej tablicy bezpośrednio.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.