{"id":2544,"date":"2013-11-30T21:45:02","date_gmt":"2013-11-30T19:45:02","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=2544"},"modified":"2013-11-30T22:01:05","modified_gmt":"2013-11-30T20:01:05","slug":"tostring-togenericstring-in-class","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2013\/11\/tostring-togenericstring-in-class\/","title":{"rendered":"toString(), toGenericString(), getCanonicalName() in Class"},"content":{"rendered":"<p>Die Klasse Class \u00fcberschreibt die Methode toString() und greift dabei auf getName() zur\u00fcck. toString() f\u00fcgt zus\u00e4tzlich Informationen \u00fcber die Art des repr\u00e4sentierten Typs (normale Klasse, Schnittstelle oder primitiver Datentyp) ein. Neu in Java 8 ist toGenericString(), was auch noch in spitzen Klammern die Typvariablen anzeigt. (Nat\u00fcrlich nicht den Typparameter, da der zur Laufzeit wegen der Typl\u00f6schung nicht bekannt ist.) Um die Typvariable zu erfragen wird getTypeName() verwendet; die Methode ist eine Implementierung aus der Schnittstelle Type, die Class implementiert. <\/p>\n<p>Beispiel: Teste f\u00fcr ein Class-Objekt die drei String-Repr\u00e4sentationen: <\/p>\n<p>Class&lt;?&gt; c = HashMap.class; <\/p>\n<p>System.out.println( c.<b>getName()<\/b> ); \/\/ java.util.HashMap <\/p>\n<p>System.out.println( c.<b>toString()<\/b> ); \/\/ class java.util.HashMap <\/p>\n<p>System.out.println( c.<b>toGenericString()<\/b> ); \/\/ public class java.util.HashMap&lt;K,V&gt; <\/p>\n<p>Bei inneren Typen trennt ein $ bei der String-Repr\u00e4sentation den \u00e4u\u00dferen und inneren Typ. Anders verh\u00e4lt sich getCanonicalName(), wie das Beispiel zeigt:  <\/p>\n<table cellspacing=\"0\" cellpadding=\"0\" border=\"1\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"304\">\n<p><b>Anweisung<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"399\">\n<p><b>R\u00fcckgabe<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"304\">\n<p>Map.Entry.class.getName()<\/p>\n<\/td>\n<td valign=\"top\" width=\"399\">\n<p>java.util.Map$Entry<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"304\">\n<p>Map.Entry.class.getCanonicalName()<\/p>\n<\/td>\n<td valign=\"top\" width=\"399\">\n<p>java.util.Map.Entry<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"304\">\n<p>Map.Entry.class.toString()<\/p>\n<\/td>\n<td valign=\"top\" width=\"399\">\n<p>interface java.util.Map$Entry<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"304\">\n<p>Map.Entry.class.toGenericString()<\/p>\n<\/td>\n<td valign=\"top\" width=\"399\">\n<p>public abstract static interface java.util.Map$Entry&lt;K,V&gt;<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>String-Repr\u00e4sentation bei inneren Typen<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Klasse Class \u00fcberschreibt die Methode toString() und greift dabei auf getName() zur\u00fcck. toString() f\u00fcgt zus\u00e4tzlich Informationen \u00fcber die Art des repr\u00e4sentierten Typs (normale Klasse, Schnittstelle oder primitiver Datentyp) ein. Neu in Java 8 ist toGenericString(), was auch noch in spitzen Klammern die Typvariablen anzeigt. (Nat\u00fcrlich nicht den Typparameter, da der zur Laufzeit wegen der [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[11,66],"tags":[],"class_list":["post-2544","post","type-post","status-publish","format-standard","hentry","category-insel","category-java-8"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2544","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=2544"}],"version-history":[{"count":2,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2544\/revisions"}],"predecessor-version":[{"id":2546,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2544\/revisions\/2546"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=2544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=2544"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=2544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}