generics

Różnica między i w Javie [duplikat]

To pytanie ma już odpowiedź tutaj: czym jest PECS (producent rozszerza Super konsumenta)? ... ist<? extends T>, ale to nie pozwala mi dodawać do niego elementów list.add(e), podczas gdy List<? super T> robi.

Co to jest Pecs (producent rozszerza Consumer Super)?

Natknąłem się na PECS (skrót od Producent extends i konsument super) podczas czytania o generykach. Może mi ktoś wyjaśnić jak używać PECS do rozwiązywania nieporozumień między extends i super?

Jak utworzyć tablicę generyczną w Javie?

Ze względu na implementację Javy generics, nie można mieć takiego kodu: public class GenSet<E> { private E a[]; ... ay = (T[])Array.newInstance(clazz, capacity); } private final T[] array; } Ale naprawdę nie rozumiem, o co chodzi.

Jakie są różnice między generykami w C# i Javie... a szablonami w C++? [zamknięte]

Używam głównie Javy i generyki są stosunkowo nowe. Ciągle czytam, że Java podjęła złą decyzję lub że. NET ma lepsze implementacje itp. itd. Jakie są główne różnice między C++, C#, Java w generykach? Plusy / minusy każdego?

Jak uzyskać instancję klasy typu generic T?

Mam zajęcia z generyki, Foo<T>. W metodzie Foo chcę uzyskać instancję klasy typu T, ale po prostu nie mogę wywołać T.class. Jaki jest preferowany sposób obejścia go za pomocą T.class?

Czy lista jest podklasą listy? Dlaczego generyki Javy nie są polimorficzne?

Jestem trochę zdezorientowany tym, jak generyki Javy radzą sobie z dziedziczeniem / polimorfizmem. Przyjmij następującą hier ... . Moje pytanie brzmi dlaczego ? Dlaczego polimorfizm jest ogólnie niejawny, ale jeśli chodzi o generyki, musi być określony?

Jak sprawić, by metoda zwracała Typ generyczny?

Rozważ ten przykład (typowy w książkach OOP): Mam Animal klasę, gdzie każdy Animal może mieć wielu przyjaciół. I podklasy j ... rapy instancji. Rozumiem, że generyki służą do sprawdzania typu w czasie kompilacji, ale czy istnieje obejście tego problemu?

Jak użyć reflection, aby wywołać metodę generyczną?

Jaki jest najlepszy sposób wywołania metody generycznej, gdy parametr type nie jest znany podczas kompilacji,ale jest uzyskiw ... ericMethod<T>() { // ... } public static void StaticMethod<T>() { //... } }

Utwórz metodę ogólną ograniczającą t do Enum

Buduję funkcję rozszerzającą Enum.Parse pojęcie, które pozwala na przetworzenie wartości domyślnej w przypadku, gdy wartoś ... generyczne w MSIL lub F# poniżej, które jest warte obejrzenia, i upvote. Usunę tę edycję, jeśli rozwiązanie dalej na stronę.

Jak posortować listę według właściwości w obiekcie

Mam klasę {[1] } która ma takie właściwości jak OrderId, OrderDate, Quantity, i Total. Mam listę tej klasy Order: List<O ... łaściwości obiektu Order, na przykład muszę posortować ją według daty zamówienia lub ID zamówienia. Jak mogę to zrobić w C#?

Jak uzyskać instancję klasy generyków typu T

Mam lekcję generyki, Foo<T>. W metodzie Foo chcę uzyskać instancję klasy typu T, ale po prostu nie mogę wywołać T.class. Jaki jest preferowany sposób obejścia go za pomocą T.class?

Co to jest typ wyższy kinded w Scali?

Można znaleźć w sieci: Higher kinded type = = konstruktor typu? class AClass[T]{...} // For example, class List[T] ... truktor typu wyższego typu i konstruktora typu , który przyjmuje konstruktory typu jako parametr typu , stąd pytanie powyżej.

Jaka jest różnica między "E", " T "i"? dla Java generics?

Natknąłem się na kod Javy tak: public interface Foo<E> {} public interface Bar<T> {} public interface Zar< ... } Jaka jest różnica pomiędzy wszystkimi trzema powyższymi i jak nazywają tego typu deklaracje klas lub interfejsów w Javie?

Scala: typy abstrakcyjne a generyki

Czytałam wycieczka po Scali: abstrakcyjne typy. Kiedy lepiej używać typów abstrakcyjnych? Na przykład, abstract class Buffer { type T val element: T } Raczej, że generyki, na przykład, abstract class Buffer[T] { val element: T }

Lista lub IList [zamknięta]

Zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi. ... aśnić dlaczego chciałbym używać IList zamiast List w C#? podobne pytanie: dlaczego uważa się za złe ujawnianie List<T>

Jaki jest sens operatora diamond ( < > ) w Javie 7?

Operator diamond w Javie 7 pozwala na kod w następujący sposób: List<String> list = new LinkedList<>(); Jedna ... ? Jeśli nie daje żadnej nowej funkcjonalności, dlaczego wymieniają ją jako funkcję? Czy moje rozumienie tego pojęcia wadliwe?

Jakie są powody, dla których Mapa.get (Object key) nie jest (w pełni) generycznym

Jakie są przyczyny decyzji o braku w pełni ogólnej metody get w interfejsie java.util.Map<K, V>. Aby wyjaśnić pytanie ... est V get(Object key) Zamiast V get(K key) I zastanawiam się dlaczego (to samo dla remove, containsKey, containsValue).

Dlaczego przykład nie kompiluje się, czyli jak działa wariancja (co-, contra-i in -)?

Idąc dalej od to pytanie , Czy ktoś może wyjaśnić w Scali co następuje: class Slot[+T] (var some: T) { // DOES NOT COM ... est kowariantna w swoim typie? EDIT 2 : Duh! Użyłem var a nie val. Oto czego chciałem: class Slot[+T] (val some: T) { }

Jaki jest sens operatora diamond w Javie 7?

Operator diamond w Javie 7 pozwala na kod w następujący sposób: List<String> list = new LinkedList<>(); Jedna ... śli nie daje żadnej nowej funkcjonalności, dlaczego wymieniają ją jako funkcję? Czy moje rozumienie tego pojęcia jest błędne?

Przekazywanie argumentów do C# generic new () typu template

Próbuję utworzyć nowy obiekt typu T poprzez jego konstruktor podczas dodawania do listy. Otrzymuję błąd kompilacji: komunika ... foreach (ListItem listItem in listCollection) { tabListItems.Add(new T(listItem)); // error here. } ... }