2016-05-02 10 views
1

CellStyleを使用して新しいセルスタイルを作成しているときに、2つのスタイルオブジェクトが同じヒープメモリアドレスを共有しているようです。CellStyleが同じヒープアドレスを共有するapache poi

どうすれば可能ですか?

以下の例をご覧ください:

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

を、私は、コードをデバッグするとき、style1style2両方が[email protected]

と同じメモリアドレスを持っている誰もが、この奇妙な振る舞いを説明していただけますか?

は、あなたが観察 Aswini J

答えて

4

[email protected]ありがとうございメモリアドレスも何もそれのようなが、ObjectクラスのちょうどのtoString()メソッドではありません。

toString()のデフォルト実装は[email protected]です。

2つのオブジェクトをデフォルトのコンストラクタでインスタンス化して、同じ状態にすることは明らかです。したがって、hashCode()のデフォルト実装では、2つの異なるオブジェクトに対して同じハッシュコードが与えられます。彼らは同じクラスとハッシュコードを持っているので、[email protected]の結果は同じです。

+0

わかりやすい説明ありがとうございました:) – Ashwini

関連する問題