Als «generics» getaggte Fragen

Generika sind eine Form des parametrischen Polymorphismus, der in einer Reihe von Sprachen zu finden ist, darunter .NET-Sprachen, Java, Swift und Rust.


7
Was genau ist eine „Sonderklasse“?
Nachdem Sie Folgendes nicht kompiliert haben: public class Gen<T> where T : System.Array { } mit dem Fehler Eine Einschränkung kann keine spezielle Klasse "System.Array" sein. Ich begann fragen, was genau ist eine „Sonderklasse“? Menschen scheinen oft die gleiche Art von Fehler zu bekommen, wenn sie System.Enumin einer generischen Einschränkung …

5
Rückgabe eines Void-Objekts
Was ist der richtige Weg, um einen VoidTyp zurückzugeben, wenn er kein Grundelement ist? Z.B. Ich benutze derzeit null wie unten. interface B<E>{ E method(); } class A implements B<Void>{ public Void method(){ // do something return null; } }


2
Java deaktiviert: Deaktivierte generische Array-Erstellung für varargs-Parameter
Ich habe Netbeans so eingestellt, dass in meinem Java-Code ungeprüfte Warnungen angezeigt werden, aber ich verstehe den Fehler in den folgenden Zeilen nicht: private List<String> cocNumbers; private List<String> vatNumbers; private List<String> ibans; private List<String> banks; ... List<List<String>> combinations = Utils.createCombinations(cocNumbers, vatNumbers, ibans); Gibt: [unchecked] unchecked generic array creation for varargs …

4
Lambda-Ausdruck und generische Methode
Angenommen, ich habe eine generische Schnittstelle: interface MyComparable<T extends Comparable<T>> { public int compare(T obj1, T obj2); } Und eine Methode sort: public static <T extends Comparable<T>> void sort(List<T> list, MyComparable<T> comp) { // sort the list } Ich kann diese Methode aufrufen und einen Lambda-Ausdruck als Argument übergeben: List<String> …
111 java  generics  lambda  java-8 

1
Was ist der Unterschied zwischen '&' und ',' in Java-Generika?
Beim Lesen des offiziellen Java-Tutorials zu Generika habe ich festgestellt, dass Sie das Typargument (in diesem Fall T) einschränken können , um eine Klasse und / oder mehrere Schnittstellen mit dem Operator 'und' ( &) wie folgt zu erweitern : <T extends MyClass & Serializable> Ich ersetzte die &mit ,(durch …
110 java  generics 

7
C # generische Typeinschränkung für alles nullbar
Also habe ich diese Klasse: public class Foo<T> where T : ??? { private T item; public bool IsNull() { return item == null; } } Jetzt suche ich nach einer Typeinschränkung, mit der ich alles als Typparameter verwenden kann null. Das bedeutet alle Referenztypen sowie alle Nullable( T?) Typen: …
110 c#  generics  nullable 

14
Wie initialisiere ich eine Liste <T> auf eine bestimmte Größe (im Gegensatz zur Kapazität)?
.NET bietet einen generischen Listencontainer, dessen Leistung nahezu identisch ist (siehe Frage Leistung von Arrays vs. Listen). Sie unterscheiden sich jedoch in der Initialisierung erheblich. Arrays lassen sich sehr einfach mit einem Standardwert initialisieren und haben per Definition bereits eine bestimmte Größe: string[] Ar = new string[10]; So kann man …

6
Java Generics (Platzhalter)
Ich habe einige Fragen zu generischen Platzhaltern in Java: Was ist der Unterschied zwischen List&lt;? extends T&gt;und List&lt;? super T&gt;? Was ist ein begrenzter Platzhalter und was ist ein unbegrenzter Platzhalter?

5
Kotlin: So arbeiten Sie mit List Casts: Unchecked Cast: kotlin.collections.List <Kotlin.Any?> To kotlin.colletions.List <Waypoint>
Ich möchte eine Funktion schreiben, die jedes Element in einem zurückgibt List, das nicht das erste oder das letzte Element ist (ein Durchkontaktpunkt). Die Funktion erhält eine generische List&lt;*&gt;Eingabe. Ein Ergebnis sollte nur zurückgegeben werden, wenn die Elemente der Liste vom Typ sind Waypoint: fun getViaPoints(list: List&lt;*&gt;): List&lt;Waypoint&gt;? { list.forEach …
108 list  generics  casting  kotlin 

8
Java Class.cast () vs. Cast-Operator
Nachdem ich während meiner C ++ - Tage über die Übel des Cast-Operators im C-Stil unterrichtet worden war, stellte ich zunächst erfreut fest, dass Java 5 java.lang.Classeine castMethode erworben hatte. Ich dachte, dass wir endlich eine OO-Art haben, mit Casting umzugehen. Es stellt sich heraus, dass Class.castes nicht dasselbe ist …

3
Jackson und generische Typreferenz
Ich möchte die Jackson JSON-Bibliothek für eine generische Methode wie folgt verwenden: public MyRequest&lt;T&gt; tester() { TypeReference&lt;MyWrapper&lt;T&gt;&gt; typeRef = new TypeReference&lt;MyWrapper&lt;T&gt;&gt;(); MyWrapper&lt;T&gt; requestWrapper = (MyWrapper&lt;T&gt;) JsonConverter.fromJson(jsonRequest, typeRef); return requestWrapper.getRequest(); } ... public class MyWrapper&lt;T&gt; { private MyRequest&lt;T&gt; request; public MyRequest&lt;T&gt; getRequest() { return request; } public void setRequest(MyRequest&lt;T&gt; request) { …
107 java  json  generics  jackson 

8
Aufrufen einer statischen Methode für einen generischen Typparameter
Ich hatte gehofft, so etwas zu tun, aber es scheint in C # illegal zu sein: public Collection MethodThatFetchesSomething&lt;T&gt;() where T : SomeBaseClass { return T.StaticMethodOnSomeBaseClassThatReturnsCollection(); } Ich erhalte einen Fehler bei der Kompilierung: "'T' ist ein 'Typparameter', der im angegebenen Kontext nicht gültig ist." Wie kann ich bei einem …
107 c#  generics 

11
Beste Ausnahme für ein ungültiges generisches Typargument
Ich schreibe gerade Code für UnconstrainedMelody, der generische Methoden für Aufzählungen enthält. Jetzt habe ich eine statische Klasse mit einer Reihe von Methoden, die nur für "Flags" -Aufzählungen verwendet werden sollen. Ich kann dies nicht als Einschränkung hinzufügen ... daher ist es möglich, dass sie auch mit anderen Aufzählungstypen aufgerufen …
106 c#  generics  exception 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.