Als «generics» getaggte Fragen

Meta-Technik, mit der die Einstellung des zuverlässigen Typs auf die Laufzeit verschoben werden kann.


7
Was ist los mit Javas Generika? [geschlossen]
Ich habe auf dieser Site mehrere Posts gesehen, die Javas Implementierung von Generika verurteilen. Jetzt kann ich ehrlich sagen, dass ich keine Probleme damit hatte, sie zu benutzen. Ich habe jedoch nicht versucht, selbst eine generische Klasse zu erstellen. Was sind Ihre Probleme mit Javas generischem Support?
49 java  generics 

6
Gute oder schlechte Praxis, Java-Sammlungen mit aussagekräftigen Klassennamen zu maskieren?
In letzter Zeit habe ich es mir zur Gewohnheit gemacht, Java-Sammlungen mit menschlichen Klassennamen zu "maskieren". Einige einfache Beispiele: // Facade class that makes code more readable and understandable. public class WidgetCache extends Map<String, Widget> { } Oder: // If you saw a ArrayList<ArrayList<?>> being passed around in the code, …

4
Was ist Missbrauch von Generika?
Beim Überprüfen von Code habe ich festgestellt, dass die Möglichkeit besteht, ihn auf die Verwendung von Generika umzustellen. Der (verschleierte) Code sieht folgendermaßen aus: public void DoAllTheThings(Type typeOfTarget, object[] possibleTargets) { var someProperty = typeOfTarget.GetProperty(possibleTargets[0]); ... } Dieser Code könnte durch Generika ersetzt werden: public void DoAllTheThings<T>(object[] possibleTargets[0]) { var …
35 generics 

12
Ist es ein Codegeruch, generische Objekte in einem Container zu speichern und dann das Objekt abzurufen und die Objekte aus dem Container zu entfernen?
Zum Beispiel habe ich ein Spiel, das einige Werkzeuge hat, um die Fähigkeit des Spielers zu erhöhen: Tool.h class Tool{ public: std::string name; }; Und einige Tools: Schwert.h class Sword : public Tool{ public: Sword(){ this->name="Sword"; } int attack; }; Shield.h class Shield : public Tool{ public: Shield(){ this->name="Shield"; } …

3
Ein gutes generisches Typensystem
Es ist allgemein anerkannt, dass Java-Generika auf einige wichtige Arten versagt haben. Die Kombination von Platzhaltern und Schranken führte zu ernsthaft unlesbarem Code. Wenn ich mir jedoch andere Sprachen anschaue, kann ich anscheinend kein generisches Typsystem finden, mit dem Programmierer zufrieden sind. Nehmen wir als Entwurfsziele eines solchen Typsystems: Erzeugt …

8
Generics - Wie vermeide ich redundante Methode?
Nehmen wir an, ich habe zwei Klassen, die so aussehen (der erste Codeblock und das allgemeine Problem beziehen sich auf C #): class A { public int IntProperty { get; set; } } class B { public int IntProperty { get; set; } } Diese Klassen können in keiner Weise …
28 c#  generics 

1
Was ist der Unterschied zwischen <? erweitert Foo> und <Foo>
Ich habe offenbar ein Missverständnis über den Unterschied zwischen &lt;Foo&gt;und &lt;? extends Foo&gt;. Nach meinem Verständnis, wenn wir hatten ArrayList&lt;Foo&gt; foos = new ArrayList&lt;&gt;(); Dies zeigt an, dass Foodieser Array-Liste Objekte vom Typ hinzugefügt werden können. Da Unterklassen von Fooebenfalls vom Typ sind Foo, können sie auch fehlerfrei hinzugefügt werden, …
20 java  generics 

3
Generics vs Common Interface?
Ich kann mich nicht erinnern, wann ich das letzte Mal einen Sammelkurs geschrieben habe. Jedes Mal, wenn ich denke, ich brauche es, nachdem ich nachgedacht habe, komme ich zu dem Schluss, dass ich es nicht tue. Die zweite Antwort auf diese Frage veranlasste mich zur Klärung (da ich noch keinen …

4
Wer erweitert Schnittstellen? Und warum?
AFAIK, meine Klasse extendsElternklassen und implementsSchnittstellen. Aber ich stoße auf eine Situation, die ich nicht nutzen kann implements SomeInterface. Es ist die Deklaration eines generischen Typs. Beispielsweise: public interface CallsForGrow {...} public class GrowingArrayList &lt;T implements CallsForGrow&gt; // BAD, won't work! extends ArrayList&lt;T&gt; Hier ist das Verwenden implementssyntaktisch verboten. Ich …

8
Wie kann das Bewusstsein für generisches Programmieren unter den Teammitgliedern verbreitet werden?
Ich wohne in einer Umgebung, in der die Leute glauben: Java-Generika sind die Funktion, die ausschließlich für das Schreiben von Bibliotheken und nicht für die eigentliche Codierung verwendet wird. C ++ ist eine OO-Programmiersprache. templateist eine optionale und vermeidbare Funktion Diese Menschen sind jedoch sehr auf die Bibliotheken angewiesen, die …
20 java  c++  templates  generics 




3
Wie werden Generika implementiert?
Dies ist die Frage aus Sicht der Compiler-Interna. Ich interessiere mich für Generika, nicht für Vorlagen (C ++), daher habe ich die Frage mit C # markiert. Nicht Java, da AFAIK die Generika in beiden Sprachen in Implementierungen unterscheiden. Wenn ich mir Sprachen ohne Generika anschaue, ist das ziemlich einfach. …
16 c#  generics 

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.