Mam klasy o nazwie Order, która ma właściwości takie jak OrderId, OrderDate, Quantity, i Total. Mam listę tej Orderklasy: List<Order> objListOrder = new List<Order>(); GetOrderList(objListOrder); // fill list of orders Teraz chcę posortować listę na podstawie jednej właściwości Orderobiektu, na przykład muszę posortować ją według daty zamówienia lub identyfikatora zamówienia. …
Buduję funkcję, aby rozszerzyć tę Enum.Parsekoncepcję Umożliwia parsowanie wartości domyślnej w przypadku, gdy nie zostanie znaleziona wartość Enum Rozróżnia małe i wielkie litery Napisałem więc: public static T GetEnumFromString<T>(string value, T defaultValue) where T : Enum { if (string.IsNullOrEmpty(value)) return defaultValue; foreach (T item in Enum.GetValues(typeof(T))) { if (item.ToString().ToLower().Equals(value.Trim().ToLower())) return …
Ze względu na implementację generycznych Java, nie możesz mieć takiego kodu: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } Jak mogę to zaimplementować, zachowując bezpieczeństwo typu? Na forach Java zobaczyłem takie rozwiązanie: import java.lang.reflect.Array; class Stack<T> { …
Jaki jest najlepszy sposób na wywołanie metody ogólnej, gdy parametr type nie jest znany w czasie kompilacji, a zamiast tego jest uzyskiwany dynamicznie w czasie wykonywania? Rozważ następujący przykładowy kod - w jaki Example()sposób najbardziej zwięzły sposób wywołać GenericMethod<T>()za pomocą Typeprzechowywanej w myTypezmiennej zmiennej? public class Sample { public void …
Jestem trochę zdezorientowany, jak generycy Java radzą sobie z dziedziczeniem / polimorfizmem. Załóżmy następującą hierarchię - Animal (Parent) Pies - Kot (Dzieci) Załóżmy, że mam metodę doSomething(List<Animal> animals). Przez wszystkich zasad dziedziczenia i polimorfizmu, chciałbym założyć, że List<Dog> jestList<Animal> i List<Cat> jestList<Animal> - a więc albo można być przekazywane do …
Przekazywanie informacji o przepełnieniu stosu w przepełnieniu : Symbole wieloznaczne w Generics Java Natknąłem się na PECS (skrót od producenta extendsi konsumentasuper ), czytając ogólne informacje. Czy ktoś może mi wyjaśnić, jak korzystać z PECS do rozwiązywania konfliktu między extendsa super?
Mam klasy leków generycznych Foo<T>. W metodzie Foochcę uzyskać instancję klasy typu T, ale po prostu nie mogę wywoływać T.class. Jaki jest preferowany sposób obejścia tego problemu T.class?
Powiedzmy, że mam ogólny element w klasie lub metodzie, więc: public class Foo<T> { public List<T> Bar { get; set; } public void Baz() { // get type of T } } Kiedy instancję klasy, Tstaje się MyTypeObject1, więc klasa ma ogólną listę właściwość: List<MyTypeObject1>. To samo dotyczy metody ogólnej …
Pytania: Jakie są typy raw w Javie i dlaczego często słyszę, że nie powinny być używane w nowym kodzie? Jaka jest alternatywa, jeśli nie możemy używać typów surowych i jak jest lepsza?
Eclipse wyświetla mi ostrzeżenie o następującej formie: Bezpieczeństwo typu: Niezaznaczone rzutowanie z Object na HashMap Wynika to z wywołania interfejsu API, nad którym nie mam kontroli, który zwraca obiekt: HashMap<String, String> getItems(javax.servlet.http.HttpSession session) { HashMap<String, String> theHash = (HashMap<String, String>)session.getAttribute("attributeKey"); return theHash; } Jeśli to możliwe, chciałbym unikać ostrzeżeń Eclipse, …
Mam ogólną listę obiektów w C # i chcę sklonować listę. Elementy na liście można klonować, ale wydaje się, że nie ma takiej możliwości list.Clone(). Czy jest na to łatwy sposób?
Rozważ ten przykład (typowy w książkach OOP): Mam Animalzajęcia, w których każdy Animalmoże mieć wielu przyjaciół. I podklasy podoba Dog, Duck, Mouseitp, które jak dodać specyficzne zachowanie bark(), quack()itd. Oto Animalklasa: public class Animal { private Map<String,Animal> friends = new HashMap<>(); public void addFriend(String name, Animal animal){ friends.put(name,animal); } public …
Czy w Javie można utworzyć instancję typu ogólnego? Myślę na podstawie tego, co widziałem, że odpowiedź brzmi no(z powodu usunięcia typu ), ale byłbym zainteresowany, gdyby ktoś mógł zobaczyć coś, czego mi brakuje. class SomeContainer<E> { E createContents() { return what??? } } EDYCJA: Okazuje się, że tokenów Super Type …
Mam ogólną metodę z tym (obojętnym) kodem (tak, wiem, że IList ma predykaty, ale mój kod nie używa IList, ale innej kolekcji, w każdym razie nie ma to znaczenia dla pytania ...) static T FindThing<T>(IList collection, int id) where T : IThing, new() { foreach T thing in collecion { …
Powoduje to wyjątek czasu kompilacji: public sealed class ValidatesAttribute<T> : Attribute { } [Validates<string>] public static class StringValidation { } Wiem, że C # nie obsługuje atrybutów ogólnych. Jednak po długim Googlingu nie mogę znaleźć powodu. Czy ktoś wie, dlaczego typy ogólne nie mogą pochodzić Attribute? Jakieś teorie?
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.