<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Kommentare zu: 04.03.11 Besondere Methoden (equals, hashCode und toString)</title>
	<atom:link href="http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/</link>
	<description>Ein Buch über Java Programmierung als Blog</description>
	<lastBuildDate>Tue, 31 Jan 2012 16:30:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Von: Stefan Kiesel</title>
		<link>http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/comment-page-1/#comment-4466</link>
		<dc:creator>Stefan Kiesel</dc:creator>
		<pubDate>Tue, 20 Jul 2010 15:53:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=1446#comment-4466</guid>
		<description>Hallo Tobias,

vielen Dank für die zusätzliche Information.

Gruß
Stefan</description>
		<content:encoded><![CDATA[<p>Hallo Tobias,</p>
<p>vielen Dank für die zusätzliche Information.</p>
<p>Gruß<br />
Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Tobias</title>
		<link>http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/comment-page-1/#comment-4465</link>
		<dc:creator>Tobias</dc:creator>
		<pubDate>Tue, 20 Jul 2010 07:00:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=1446#comment-4465</guid>
		<description>Der Gebrauch von instanceof in equals()-Methoden (und dadurch die Miterfassung von Subklassen im Vergleich) ist schlecht, weil auch dadurch der Kontrakt der equals()-Methode verletzt wird. Siehe dazu &quot;Effective Java, Second Edition&quot;, Rezept 8.

Der im Artikel gewählte Ansatz ist der Empfohlene.</description>
		<content:encoded><![CDATA[<p>Der Gebrauch von instanceof in equals()-Methoden (und dadurch die Miterfassung von Subklassen im Vergleich) ist schlecht, weil auch dadurch der Kontrakt der equals()-Methode verletzt wird. Siehe dazu &#8220;Effective Java, Second Edition&#8221;, Rezept 8.</p>
<p>Der im Artikel gewählte Ansatz ist der Empfohlene.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Stefan Kiesel</title>
		<link>http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/comment-page-1/#comment-4461</link>
		<dc:creator>Stefan Kiesel</dc:creator>
		<pubDate>Tue, 06 Jul 2010 09:09:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=1446#comment-4461</guid>
		<description>Hallo Thomas,

wirft man einen Blick in den Quellcode von &lt;code&gt;Float.compare&lt;/code&gt; stellt man fest, dass hier nicht die &lt;code&gt;float&lt;/code&gt;-Werte sondern die Bit-Repräsentationen in Form von &lt;code&gt;Integern&lt;/code&gt; verglichen werden. Sie haben also recht, dass &lt;code&gt;Float.compare&lt;/code&gt; (und analog dazu auch Double.compare) etwas anderes als ein Vergleich mit &lt;code&gt;==&lt;/code&gt; ist. In der Praxis fällt dies jedoch kaum ins Gewicht, weshalb ich den Artikel gerne unverändert, und Ihren Kommentar als zusätzlichen Hinweis da stehen lassen würde.

Gruß
Stefan</description>
		<content:encoded><![CDATA[<p>Hallo Thomas,</p>
<p>wirft man einen Blick in den Quellcode von <code>Float.compare</code> stellt man fest, dass hier nicht die <code>float</code>-Werte sondern die Bit-Repräsentationen in Form von <code>Integern</code> verglichen werden. Sie haben also recht, dass <code>Float.compare</code> (und analog dazu auch Double.compare) etwas anderes als ein Vergleich mit <code>==</code> ist. In der Praxis fällt dies jedoch kaum ins Gewicht, weshalb ich den Artikel gerne unverändert, und Ihren Kommentar als zusätzlichen Hinweis da stehen lassen würde.</p>
<p>Gruß<br />
Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Thomas Zenglein</title>
		<link>http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/comment-page-1/#comment-4460</link>
		<dc:creator>Thomas Zenglein</dc:creator>
		<pubDate>Mon, 05 Jul 2010 11:27:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=1446#comment-4460</guid>
		<description>Sollten Attribute, die vom Typ float oder double sind nicht besser mit Float.compare bzw. Double.compare verglichen werden und abhängig vom Ergebnis entschieden werden, ob die betrachteten Attribute als gleich oder unterschiedlich gelten?</description>
		<content:encoded><![CDATA[<p>Sollten Attribute, die vom Typ float oder double sind nicht besser mit Float.compare bzw. Double.compare verglichen werden und abhängig vom Ergebnis entschieden werden, ob die betrachteten Attribute als gleich oder unterschiedlich gelten?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: m3</title>
		<link>http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/comment-page-1/#comment-201</link>
		<dc:creator>m3</dc:creator>
		<pubDate>Tue, 18 Nov 2008 12:31:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=1446#comment-201</guid>
		<description>Ah ok,  danke

Gruß

m3</description>
		<content:encoded><![CDATA[<p>Ah ok,  danke</p>
<p>Gruß</p>
<p>m3</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Stefan Kiesel</title>
		<link>http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/comment-page-1/#comment-135</link>
		<dc:creator>Stefan Kiesel</dc:creator>
		<pubDate>Sun, 16 Nov 2008 18:16:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=1446#comment-135</guid>
		<description>Hallo m3,

genau das ist der Grund, warum man überprüfen sollte, ob es sich um das identische Objekt handelt. Der &quot;contract&quot; ist der Vertrag bzw. die Vorgaben von Sun, wie &lt;code&gt;equals&lt;/code&gt; implementiert werden sollte. Dieser wird auf der &lt;a href=&quot;http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/2/&quot; rel=&quot;nofollow&quot;&gt;zweiten Seite&lt;/a&gt; dieses Kapitels unter dem Punkt &lt;strong&gt;Vertrag/contract für hashCode und equals&lt;/strong&gt; besprochen.

Gruß

Stefan</description>
		<content:encoded><![CDATA[<p>Hallo m3,</p>
<p>genau das ist der Grund, warum man überprüfen sollte, ob es sich um das identische Objekt handelt. Der &#8220;contract&#8221; ist der Vertrag bzw. die Vorgaben von Sun, wie <code>equals</code> implementiert werden sollte. Dieser wird auf der <a href="http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/2/" rel="nofollow">zweiten Seite</a> dieses Kapitels unter dem Punkt <strong>Vertrag/contract für hashCode und equals</strong> besprochen.</p>
<p>Gruß</p>
<p>Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: m3</title>
		<link>http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/comment-page-1/#comment-134</link>
		<dc:creator>m3</dc:creator>
		<pubDate>Sun, 16 Nov 2008 17:59:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=1446#comment-134</guid>
		<description>Hallo Stefan, 

Ich verstehe das ein Prüfung, ob es sich um das selbe Objekt handelt, sinnvoll sein kann - gerade wenn der Vergleichsalgorithmus zeitaufwendig ist (hier nicht der Fall).

Ich verstehe jedoch nicht, was du mit &quot;contract&quot; meinst.

Gruß

m3</description>
		<content:encoded><![CDATA[<p>Hallo Stefan, </p>
<p>Ich verstehe das ein Prüfung, ob es sich um das selbe Objekt handelt, sinnvoll sein kann &#8211; gerade wenn der Vergleichsalgorithmus zeitaufwendig ist (hier nicht der Fall).</p>
<p>Ich verstehe jedoch nicht, was du mit &#8220;contract&#8221; meinst.</p>
<p>Gruß</p>
<p>m3</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Stefan Kiesel</title>
		<link>http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/comment-page-1/#comment-133</link>
		<dc:creator>Stefan Kiesel</dc:creator>
		<pubDate>Sun, 16 Nov 2008 16:52:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=1446#comment-133</guid>
		<description>Hallo m3,

danke für Ihren Kommentar! Da das Java Blog Buch ein Buch ist, sollten die Kapitel mehr oder weniger aufeinander aufbauen. Leider wird &lt;code&gt;instanceof&lt;/code&gt; erst später im &lt;a href=&quot;http://www.java-blog-buch.de/0405-vererbung/&quot; rel=&quot;nofollow&quot;&gt;Kapitel 04.05 Vererbung&lt;/a&gt; angesprochen, weshalb ich mich gegen die Verwendung von &lt;code&gt;instanceof&lt;/code&gt; entschieden habe. Aber selbstverständlich funktioniert es auch mit &lt;code&gt;instanceof&lt;/code&gt;, da haben Sie natürlich Recht.

Eine Anmerkung zu Ihrem Code/Kommentar im Code habe ich aber trotzdem:

&gt;&gt; den Kram darüber braucht man nicht  - null wird durch instanceof geregelt

Dennoch sollte überprüft werden, ob es sich beim übergebenen Objekt um das selbe Objekt  wie &lt;code&gt;this&lt;/code&gt; handelt, da dies vom &lt;strong&gt;contract&lt;/strong&gt; so verlangt wird.

Gruß

Stefan</description>
		<content:encoded><![CDATA[<p>Hallo m3,</p>
<p>danke für Ihren Kommentar! Da das Java Blog Buch ein Buch ist, sollten die Kapitel mehr oder weniger aufeinander aufbauen. Leider wird <code>instanceof</code> erst später im <a href="http://www.java-blog-buch.de/0405-vererbung/" rel="nofollow">Kapitel 04.05 Vererbung</a> angesprochen, weshalb ich mich gegen die Verwendung von <code>instanceof</code> entschieden habe. Aber selbstverständlich funktioniert es auch mit <code>instanceof</code>, da haben Sie natürlich Recht.</p>
<p>Eine Anmerkung zu Ihrem Code/Kommentar im Code habe ich aber trotzdem:</p>
<p>>> den Kram darüber braucht man nicht  &#8211; null wird durch instanceof geregelt</p>
<p>Dennoch sollte überprüft werden, ob es sich beim übergebenen Objekt um das selbe Objekt  wie <code>this</code> handelt, da dies vom <strong>contract</strong> so verlangt wird.</p>
<p>Gruß</p>
<p>Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: m3</title>
		<link>http://www.java-blog-buch.de/040311-besondere-methoden-equals-hashcode-und-tostring/comment-page-1/#comment-130</link>
		<dc:creator>m3</dc:creator>
		<pubDate>Sun, 16 Nov 2008 12:12:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=1446#comment-130</guid>
		<description>Besserer Stil wäre:
&lt;pre&gt;//den Kram drüber brauch man net - null wird durch instanceof geregelt

  if (obj instanceof bottle) {         //funktioniert jetzt auch für subklassen
    Bottle b = (Bottle)obj;
    if (this.capacity == b.getCapacity() &amp;&amp; this.content.equals(b.getContent())) {
      return true;
    }
  }
  return false;&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>Besserer Stil wäre:</p>
<pre>//den Kram drüber brauch man net - null wird durch instanceof geregelt

  if (obj instanceof bottle) {         //funktioniert jetzt auch für subklassen
    Bottle b = (Bottle)obj;
    if (this.capacity == b.getCapacity() &amp;&amp; this.content.equals(b.getContent())) {
      return true;
    }
  }
  return false;</pre>
]]></content:encoded>
	</item>
</channel>
</rss>

