弱参照を生成するためのクラスであるjava.lang.WeakReferenceについての質問です。
public class Hoge { Foo strongFoo = new Foo(); // 強い参照 WeakReference<Foo> weakRef = new WeakReference<Foo>(strongFoo); //弱い参照 } class Foo { String name; }
弱い参照を生成する際の
WeakReference<Foo> weakRef = new WeakReference<Foo>(strongFoo);
についてなのですが、これって右辺では参照だけを生成しているのでしょうか。
普通のnewを使った文(strongFooのような)なら右辺でインスタンスを生成し、その参照を左辺の変数に代入するわけですが、今回のこの弱参照を生成する場合はインスタンスを生成することなく、右辺の演算の結果は参照のアドレスということでしょうか。
回答お願いします。
補足です。
コンストラクタのリファレンスには次のように記述されています。
「指定されたオブジェクトを参照する、新しい弱参照を作成します。」
これって、やはりインスタンスではなく、参照のアドレスということではないのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/19 01:48
2016/08/19 02:43
退会済みユーザー
2016/08/19 12:20