Im folgenden Beispiel habe ich versucht, eine generische Ref hm
Bezug auf neu erstellt HashMap
mit Typ <Integer,Integer>
. Aber selbst wenn ich String-Werte durch hm
Verweis hinzufügen, ist es zulässig. Wenn ref z. hm1
darunter ist nur zur Kompilierzeit Fehler geworfen.Was ist die Verwendung von generischen Deklaration in Objektdeklaration (zB HashMap <Integer, Integer>)
HashMap hm = new HashMap<Integer,Integer>();
hm.put("hello", "HashMap"); // why it is allowing even if the object created passed <Integer,Integer> else what is significance of <Integer,Integer> on object declaration
HashMap <Integer,Integer> hm1;
hm1 = hm;
hm1.put("adfasf", "adff"); // throws error
Also meine Frage ist, warum ist es so dass Elementtyp unterschiedliche Daten, die auch hinzufügen, wenn das Objekt übergeben erstellt <Integer,Integer>
sonst was ist Bedeutung <Integer,Integer>
auf Objektdeklaration?
Wenn Sie Ihre Frage stellten, gab es eine große orange ** Wie mit nützlichen Informationen darin ** Feld rechts von dem Textbereich zu formatieren. Es gab auch eine komplette Symbolleiste mit Formatierungshilfen. Und eine ** [?] ** -Taste mit Formatierungshilfe. * Und * einen Vorschaubereich zwischen dem Textbereich und dem Post Your Question-Button (so dass Sie darüber scrollen müssen, um den Button zu finden, um Sie dazu anzuregen, ihn anzuschauen) und zeigen, wie Ihr Beitrag aussehen würde, wenn er gepostet wird .Wenn Sie Ihren Beitrag klarstellen und zeigen, dass Sie sich die Zeit genommen haben, verbessern Sie Ihre Chancen, gute Antworten zu erhalten. –
Sie werfen einen Rohtyp, also sind alle Generika verloren. – 4castle
'HashMap hm;' - Sie haben keine Referenztypen. –