2016-05-02 9 views
1

Wenn ich neue Zellenstile mit CellStyle in Apache POI erstellen, scheinen zwei Stilobjekte die gleiche Heap-Speicheradresse zu teilen.CellStyle teilen die gleiche Heap-Adresse Apache POI

Wie ist es möglich?

finden Sie das folgende Beispiel:

CellStyle style1 = workbook.createCellStyle(); 
CellStyle style2 = workbook.createCellStyle(); 

Wenn ich den Code auf Fehler, die beide style1 und style2 hat die gleiche Speicheradresse wie [email protected]

Könnte jemand bitte dieses seltsame Verhalten erklären?

Danke Aswini J

Antwort

4

[email protected] Sie halten sich nicht an Speicheradresse noch alles wie es ist aber nur toString() -Methode von Object-Klasse.

Die Standardimplementierung von toString() ist [email protected].

Es ist ziemlich klar, dass Sie 2 Objekte mit Standardkonstruktor instanziieren, so dass sie denselben Status haben. Daher wird die Standardimplementierung von hashCode() den gleichen Hash-Code für diese 2 verschiedenen Objekte geben. Sie haben die gleiche Klasse und den gleichen Hashcode, daher ist das Ergebnis von [email protected] dasselbe.

+0

Danke für die klare Erklärung :) – Ashwini