Nie używaj metody klonowania klasy java.lang.ref.Reference

W środowisku Java 8 i wcześniejszych aplikacje mogą wywoływać metodę klonowania klasy java.lang.ref.Reference lub jej dowolnej znanej podklasy: java.lang.ref.PhantomReference, java.lang.ref.SoftReference i java.lang.ref.WeakReference. Jednak w środowisku Java 11 metoda java.lang.ref.Reference.clone() została przesłonięta i zawsze zgłasza wyjątek CloneNotSupportedException. W aplikacjach wywołujących metodę klonowania należy zastąpić wywołanie metody klonowania wywołaniem konstruktora przekazującego przywoływany obiekt i kolejkę odwołań jako parametry.

Ta reguła oznacza potencjalne wywołania metody klonowania, które mogą spowodować zgłoszenie wyjątku CloneNotSupportedException. Należy przejrzeć aplikację i zastąpić wszystkie wywołania metody klonowania, które mogą zostać rozstrzygnięte do formy uwzględniającej klasę java.lang.ref.Reference.clone() lub jej dowolną znaną podklasę: java.lang.ref.PhantomReference, java.lang.ref.SoftReference i java.lang.ref.WeakReference.

Więcej informacji na temat zmiany w środowisku Java 11 można znaleźć w publikacji Java 11 release notes (Uwagi do wydania środowiska Java 11). Więcej informacji na temat klasy java.lang.ref.Reference zawiera dokumentacja klasy Java.