Generika sind eine Form des parametrischen Polymorphismus, der in einer Reihe von Sprachen zu finden ist, darunter .NET-Sprachen, Java, Swift und Rust.
Ich habe eine Klasse genannt , Orderdie Eigenschaften wie hat OrderId, OrderDate, Quantity, und Total. Ich habe eine Liste dieser OrderKlasse: List<Order> objListOrder = new List<Order>(); GetOrderList(objListOrder); // fill list of orders Jetzt möchte ich die Liste basierend auf einer Eigenschaft des OrderObjekts sortieren, zum Beispiel muss ich sie nach …
Ich baue eine Funktion auf, um das Enum.ParseKonzept zu erweitern Ermöglicht das Analysieren eines Standardwerts, falls kein Enum-Wert gefunden wird Ist unabhängig von Groß- und Kleinschreibung Also schrieb ich folgendes: public static T GetEnumFromString<T>(string value, T defaultValue) where T : Enum { if (string.IsNullOrEmpty(value)) return defaultValue; foreach (T item in …
Aufgrund der Implementierung von Java-Generika können Sie keinen Code wie diesen haben: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } Wie kann ich dies unter Wahrung der Typensicherheit implementieren? Ich habe in den Java-Foren eine Lösung gesehen, …
Wie kann eine generische Methode am besten aufgerufen werden, wenn der Typparameter zur Kompilierungszeit nicht bekannt ist, sondern zur Laufzeit dynamisch abgerufen wird? Betrachten Sie den folgenden Beispielcode Example(): Was ist innerhalb der Methode die prägnanteste Methode zum Aufrufen GenericMethod<T>()mit dem Typein der myTypeVariablen gespeicherten Code ? public class Sample …
Ich bin etwas verwirrt darüber, wie Java-Generika mit Vererbung / Polymorphismus umgehen. Nehmen Sie die folgende Hierarchie an - Tier (Eltern) Hund - Katze (Kinder) Angenommen, ich habe eine Methode doSomething(List<Animal> animals). Nach allen Regeln der Vererbung und Polymorphismus, würde ich davon ausgehen , dass ein List<Dog> ist ein List<Animal>und …
Ackа этот вопрос есть ответы на Stapelüberlauf на русском : Использование Wildcard в Generics Java Ich bin auf PECS gestoßen (kurz für Producer extendsand Consumer)super ) . Kann mir jemand erklären, wie man PECS verwendet, um Verwirrung zwischen extendsund zu lösen super?
Ich habe eine Generika-Klasse Foo<T>. In einer Methode von Foomöchte ich die Klasseninstanz vom Typ erhalten T, kann sie aber nicht aufrufen T.class. Was ist der bevorzugte Weg, um es zu umgehen T.class?
Angenommen, ich habe ein generisches Mitglied in einer Klasse oder Methode, also: public class Foo<T> { public List<T> Bar { get; set; } public void Baz() { // get type of T } } Wenn ich die Klasse instanziiere, Twird das MyTypeObject1, sodass die Klasse eine generische Listeneigenschaft hat : …
Fragen: Was sind Raw-Typen in Java und warum höre ich oft, dass sie nicht in neuem Code verwendet werden sollten? Was ist die Alternative, wenn wir keine Rohtypen verwenden können, und wie ist es besser?
Eclipse warnt mich vor folgendem Formular: Typensicherheit: Deaktivierte Umwandlung von Objekt in HashMap Dies ist von einem Aufruf einer API, über die ich keine Kontrolle habe, welche Objekt zurückgibt: HashMap<String, String> getItems(javax.servlet.http.HttpSession session) { HashMap<String, String> theHash = (HashMap<String, String>)session.getAttribute("attributeKey"); return theHash; } Ich möchte Eclipse-Warnungen nach Möglichkeit vermeiden, da …
Ich habe eine generische Liste von Objekten in C # und möchte die Liste klonen. Die Elemente in der Liste sind klonbar, aber es scheint keine Option zu geben list.Clone(). Gibt es einen einfachen Weg, dies zu umgehen?
Betrachten Sie dieses Beispiel (typisch für OOP-Bücher): Ich habe eine AnimalKlasse, in der jeder Animalviele Freunde haben kann. Und Subklassen mögen Dog, Duck, Mouseusw. , die wie ein bestimmtes Verhalten hinzufügen bark(), quack()usw. Hier ist die AnimalKlasse: public class Animal { private Map<String,Animal> friends = new HashMap<>(); public void addFriend(String …
Ist es möglich, eine Instanz eines generischen Typs in Java zu erstellen? Ich denke basierend auf dem, was ich gesehen habe, dass die Antwort no( aufgrund der Typlöschung ) ist, aber ich wäre interessiert, wenn jemand etwas sehen kann, das mir fehlt: class SomeContainer<E> { E createContents() { return what??? …
Ich habe eine generische Methode mit diesem (Dummy-) Code (ja, ich weiß, dass IList Prädikate hat, aber mein Code verwendet nicht IList, sondern eine andere Sammlung, dies ist jedoch für die Frage irrelevant ...) static T FindThing<T>(IList collection, int id) where T : IThing, new() { foreach T thing in …
Dies führt zu einer Ausnahme bei der Kompilierung: public sealed class ValidatesAttribute<T> : Attribute { } [Validates<string>] public static class StringValidation { } Mir ist klar, dass C # keine generischen Attribute unterstützt. Nach langem Googeln kann ich den Grund jedoch nicht finden. Weiß jemand, warum generische Typen nicht abgeleitet …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.