JavaコレクションLinkedListの実装上の問題について
过去多啦不再A梦
过去多啦不再A梦 2017-06-23 09:14:09
0
2
941
リーリー

last はメンバー変数です。メソッド内で直接使用せずに、最後のローカル変数に代入してみてはいかがでしょうか?

过去多啦不再A梦
过去多啦不再A梦

全員に返信(2)
typecho

コードを見た

リーリー

lastは一時的なものですよね?ローカルのfinal変数に代入すれば、lastを使うたびに値をチェックする必要がなくなりますよね?

いいねを押す +0
巴扎黑

その理由の 1 つは、スレッドの安全性を確保するためです。このメソッドが l 変数を使用せずに最後のメンバーを直接参照すると仮定すると、判定は if(this.last == null)。如果通过判断之后的瞬间,last 被赋值成了 null,那么下一句 unlinkLast(this.last) となり不明な結果が発生します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!