Ich habe versucht, einfach einen Namen dafür zu bekommen, was der <> Teil der Erklärung heißt, zu keinem Glück. Kann mir jemand sagen, wie es heißt, wie ich es in meiner Klasse verwenden kann? Zum Beispiel möchte ich vielleicht versuchen, meine eigene Art von Sammlung zu machen, und zum Beispiel new MyThing<String>
verwenden. Jede Hilfe wird geschätzt, danke!Was ist das <K, V> Ding in einer hashmap, und wie benutze ich es in meiner eigenen Klasse?
Antwort
Das ist die generische Art Deklaration der Klasse. Zum Beispiel, um festzulegen, dass eine Karte Strings als Schlüssel und ganzen Zahlen als Werte verwenden wird:
Map<String, Integer> mymap = new HashMap<String, Integer>();
Es Generika genannt wird, und hier ist, wie Sie es verwenden können:
public class MyClass<MyType> {
private MyType myItem;
public MyClass(MyType item) {
myItem = item;
}
public MyType getMyItem() {
return myItem;
}
}
Herkömmlicher den Namen der Typ (MyType
in diesem Fall) ist T
für "Typ" und K
und V
für "Schlüssel" und "Wert", aber ich mache es nur einfacher zu verstehen.
Sie könnten dann tun:
MyClass<String> m = new MyClass<String>("potato");
System.out.println(m.getMyItem()); // prints "potato"
Es ist üblicher, einen einzelnen Großbuchstaben als generischen Parameter (nicht seinen richtigen Namen) zu verwenden. –
@Tom Ich weiß, ich war mitten in einer Bearbeitung (Antwort von einem Handy ist * hard * ': P') – Doorknob
- 1. wxDataViewModel: Was ist das und wie benutze ich es?
- 2. Understanding HashMap <K,V>
- 3. Hinzufügen einer Kategorie zu meiner eigenen Klasse
- 4. Was ist das "foo. (Bar.Baz)" Ding in Go-Code?
- 5. Was macht Map.Node <K,V> Klasse in Java?
- 6. Was ist el/Element? Wie benutze ich es? Und warum?
- 7. Die Java HashMap-Implementierung hat das 'next'-Member in der Entry-Klasse. Was nützt es?
- 8. HashMap-Standardtypen für K und V
- 9. Wie benutze ich lame.exe in meiner Anwendung?
- 10. Wie std :: allocator in meiner eigenen Container-Klasse verwenden
- 11. Was ist das PHPDoc Eclipse Multitype: und wie benutze ich es?
- 12. Gibt es Null wie Ding in Solidität
- 13. Erstellen eines Container "Ding" in C++, um statische Funktionen zu halten. Was sollte "Ding" sein?
- 14. Wie benutze ich rand_r und wie benutze ich es threadsicher?
- 15. Was bedeutet def << (etwas param) in Ruby? Wie wird es in einer Klasse verwendet?
- 16. Wie benutze ich meine eigenen Versionen von Clojure-Bibliotheken?
- 17. Was ist Druck << EOF; und wie funktioniert es?
- 18. Wie benutze ich meinen eigenen Klassifikator in ensemble python
- 19. Wie benutze ich selbst und das in einer statischen Klasse kombiniert?
- 20. Apache Spark - Scala - HashMap (k, HashMap [String, Double] (v1, v2, ..)) bis ((k, v1), (k, v2), ...)
- 21. Ist es möglich, das K ++ - Initialisierungsverfahren zu verwenden, das k-means in scikit/sklearn lernet verwendet?
- 22. Wie speichere ich Wert in meiner eigenen Sitzungsvariablen in Magento?
- 23. Ich versuche, meine ArrayList mit einer meiner Methoden in meiner Klasse auszudrucken. Was mache ich falsch?
- 24. Was genau ist Eimer in hashmap?
- 25. Groovy 2.0.1, GroovyCastException auf meiner eigenen Klasse?
- 26. Was ist der Unterschied zwischen einer HashMap und einer TreeMap?
- 27. Was ist los mit meiner Datei-Logger-Klasse in C++?
- 28. Wie benutze ich ein Servlet in meiner Grails App?
- 29. das oberste Fenster meiner eigenen Anwendung nur erhalten - in C
- 30. Java - Was ist <> verwendet und wie heißt es?
Sie meinen Sie 'generics'? Siehe http://docs.oracle.com/javase/tutorial/java/generics/index.html –
@StephenC Ich wusste nicht, dass es Generika genannt wurde. – user2507230
Oder dies - http://stackoverflow.com/questions/490091/java-generics –