W Javie i Androidzie kończę używanie ArrayList<String>
dla listy dostawców, ponieważ uważam, że są łatwiejsze w użyciu niż standardowe String[]
. Moje prawdziwe pytania są jednak następujące:
Jak nazywa się część <String>
części ?
Jak mogę utworzyć klasy i użyć <>
[modyfikator]? (Nie wiem, jak to się nazywa, więc na razie jest to modyfikator).
Dzięki!Podaj typ dla ArrayList
Odpowiedz
Tutaj wil może zobaczyć wyraźniej:
ArrayList<TypeOfYourClass>
Można utworzyć klasę Person i przekazać je do ArrayList jak tego fragmentu jest pokazane:
ArrayList<Person> listOfPersons = new ArrayList<Person>();
Tak samo jak możesz stworzyć tablicę typu 'MyClass []', możesz także utworzyć 'ArrayList
Istnieje kilka funkcji w tablicy ArrayList, która jest klasą kolekcji, której nie można znaleźć w typie tablicy. Na przykład możesz znaleźć metodę "dodaj", dzięki której możesz dynamicznie dodawać obiekty do swojej listy, możesz znaleźć metodę remove, size(), oprócz tego, że pamięci tablic są przydzielane w momencie wprowadzenia i ich rozmiar, w związku z tym jest ustalana od początku, jeśli odcyfrujesz tablicę osób o rozmiarze 20, nie możesz dodać więcej niż 20 osób do tablicy. Kolekcje do. – javadev
Część <String>
jest rodzajem argumentu typu . Zapewnia on „wartość” sortuje dla parametru typu która jest E
w ArrayList<E>
... w taki sam sposób, jeśli masz metodę:
public void foo(int x)
i nazwać ją:
foo(5)
Parametr to x
, a podanym argumentem jest 5
. Parametry typu i argumenty typu są w zasadzie odpowiednikami generycznymi.
Zobacz section 4.5 of the JLS (i powiązań z nim) na trochę więcej szczegółów - i Java Generics FAQ uzyskać więcej informacji na temat leków generycznych niż można chcieć czytać :)
Bit między <>
to rodzaj argumentu, a funkcja jest nazywana Generics
Sprawdź składnię generycznych generics dla Java. To postawi cię prosto (no cóż, wiele osób uważa, że podejście Java jest gorsze niż C++ i C#).
Musiałeś, prawda? –
supose chcesz ArrayList do być wypełnione tylko za pomocą Strings. Jeśli piszesz:
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
Możesz mieć pewność, niż wtedy, gdy ktoś próbuje wypełnić ArrayList przy wew zostanie on wykryty w complile czasie.
Tak więc, leki generyczne są używane w sytuacjach, w których wymagane są takie ograniczenia.
Jest to parametr typu. W Javie musisz podać jedną z nich, gdy klasa jest napisana jako ogólna.
Oto przykład z ogólnej definicji klasy
private class GNode<T>
{
private T data;
private GNode<T> next;
public GNode(T data)
{
this.data = data;
this.next = null;
}
}
można teraz tworzyć węzły dowolnego typu, które przechodzą w. T działa jako parametr typu rodzajowego dla definicji klasy.Jeśli chcesz utworzyć węzeł o liczbach całkowitych, po prostu wykonaj:
GNode<Integer> myNode = new GNode<Integer>();
Należy zauważyć, że parametr typu musi być obiektem. Działa to poprzez auto-boxing i automatyczne rozpakowywanie Javy. Oznacza to, że nie można używać typów pierwotnych java i zamiast tego należy użyć odpowiednich klas.
Boolean instead of bool
Integer instead of int
Double instead of double
etc...
Ponadto, jeśli nie przekazujesz parametru typu, jestem pewien, że Twój kod nadal będzie się kompilować. Ale to nie zadziała.
- 1. Podaj typ klasy jako parametr do użycia w ArrayList?
- 2. ConcurrentModificationException dla ArrayList
- 3. Podaj typ datakonteksu w polu listy Element Kontener w stylu
- 4. Circular ArrayList (rozszerzenie ArrayList)
- 5. Podaj argumenty konstruktora dla testu Google Fixture
- 6. Podaj nazwę dla kroków konstrukcyjnych - konfiguracja Jenkinsa
- 7. Złożoność czasu dla java ArrayList
- 8. ArrayList zawiera inny ArrayList
- 9. Konwersja podmenu ArrayList ArrayList
- 10. ArrayList <Integer> automatycznie zmienić jego typ na ArrayList <String>
- 11. Podaj katalog instalacji klejnotów
- 12. Podaj nazwę wątku doładowania?
- 13. Podaj wyjątek, czy nie?
- 14. Podaj argumenty Cipher.getInstance()?
- 15. Odejmowanie jednej arrayList od innej arrayList
- 16. Bezpośrednio ustawienie wartości dla ArrayList w Javie
- 17. Dodawanie do ArrayList Java
- 18. Określić żądany typ zawartości?
- 19. współbieżne ArrayList
- 20. Podaj nazwę pliku aplikacji OSX dla aplikacji Eclipse RCP
- 21. Podaj inny kolor dla każdego kraju na mapie google
- 22. Rozszerzenie Chrome - brak zestawu podstawowego href. Podaj wartość dla APP_BASE_HREF
- 23. Podaj domyślną metodę "fail" dla obiektu odroczonego jQuery
- 24. Podaj liczbę całkowitą dla indeksu tablicy w OpenGL ES 2.0?
- 25. ArrayList Unrolling
- 26. Jak mogę posortować ArrayList <ArrayList <String>>?
- 27. Podaj komendę View w MVVM
- 28. web.py - podaj adres i port
- 29. Podaj mi samouczek JSF 2.0
- 30. Podaj całkowitą liczbę ciągów znaków
Google java generics – david99world
To się nazywa parametr _type_. –
Typ obiektu w <> –