私はLong変数を持っています、
private Long m_prevPacketRecvdTime = null;
今、私はそれのためのセッター/ゲッターのペアを持っています、
public void setM_prevPacketRecvdTime() {
if (this.m_prevPacketRecvdTime == null) {
this.m_prevPacketRecvdTime = new Long(System.currentTimeMillis());
} else {
// Why to create a new Object every time
//Why I can't just set the new value
//Why use new operator here instead of an Assignment or set method call
}
}
従来のセッターメソッドの代わりに、1。Longの代わりにlongを渡す、2。新しいLongを1回だけ作成し、残りの時間は既存のLongオブジェクトに新しい値を設定するだけで改善しようと考えました。しかし、私の信じられないことに、 Longにはそのような方法はありません。
値を変更するたびに、本当に新しいLongオブジェクトを作成する必要がありますか?既存のLongオブジェクト(longvalue()の正反対)に新しいlong値を設定するにはどうすればよいですか?
詳細 答えを探しているときに、似たような機能を持つAtomicLongにも出くわしましたが、それが私にとって役立つかどうかはわかりません。彼らは明らかにAtomicLongを「Longの代わりとして使用することはできません」と言っているからです。