Я просматриваю следующий пост на Слабые ссылки в java :-
После прохождения теоретической части, пытаюсь проверить слабую ссылку на null condition. Но, проверка нуля для слабой ссылки никогда не возвращает true в следующем коде :-
package com.weak;
import java.lang.ref.WeakReference;
class Widget{}
public class WeakReferenceDemo {
public static void main(String[] args) throws InterruptedException {
Widget widget = new Widget() ;
WeakReference valueWrapper = new WeakReference(widget) ;
System.out.println( valueWrapper.get() );
//here strong reference to object is lost
widget = null ;
int count = 0 ;
//here checking for null condition
while( valueWrapper.get() != null ){
System.out.print(".");
Thread.sleep(432) ;
if(++count % 25 == 0) System.out.println();
}
System.out.println( valueWrapper.get() );
}
}
Подскажите, пожалуйста, почему valueWrapper.get() не возвращает null, хотя ссылке widget присвоено нулевое значение.
Спасибо.