Получение ссылки на объект Class класса String [закрыт]

241
07 августа 2018, 01:20

Есть следующее тестовое задание:

Укажите корректные способы получения ссылки на объект Class класса String.

  1. Невозможно получить ссылку на объект Class класса String, т.к. данный класс является final;
  2. String.class;
  3. Class.forName("java.lang.String")
  4. new String.getClass()

Склоняюсь к 2) и 4), но не уверен.

Answer 1

Пример кода с комментариями:

/*
Примечание:
Пакет java.lang.ref
 Помимо обыкновенных ссылок, известных так же как Strong References (сильные ссылки), 
в Java представлен пакет java.lang.ref, содержащий реализации Soft (мягких), 
Week (слабых) и Phantom (фантомных) ссылок, которые по-разному обрабатываются 
сборщиком мусора и предоставляют пользователю возможность более гибко работать с памятью.
 */
package regObjClass;
import java.lang.ref.PhantomReference;
import java.lang.ref.ReferenceQueue;
import java.lang.ref.SoftReference;
/**
 *
 * @author vvm
 */
public class RefObjClassString {
    public static void main(String[] args) throws ClassNotFoundException {
     Class c = Class.forName("java.lang.String"); //возвращает экземпляр класса
     //Если у нас есть класс, для которого в момент компиляции известен тип то
     Class strClass = String.class;
     /* мягкие и фантомные ссылки*/
    /* создание мягкой ссылки */
    SoftReference<String> softRefStr = new SoftReference<String>(new String("SoftRef"));
   ReferenceQueue<String> queue = new ReferenceQueue<String>(); //создание очереди 
   /*создание фантомной ссылки*/
   PhantomReference<String> ref = new PhantomReference<String>(new String("Фантом"), queue);
    }
}
READ ALSO
Как взять массив из строкового ресурса и поместить в массив String

Как взять массив из строкового ресурса и поместить в массив String

Как взять массив из строкового ресурса и поместить в массив String? В Android проекте есть массив строк:

275
Не удается подключить LESS к проекту

Не удается подключить LESS к проекту

Делаю всё по науке - качаю lessmin

231
Как нарисовать и аниммировать svg линии?

Как нарисовать и аниммировать svg линии?

Как в SVG нарисовать и анимировать 2 линии, чтобы сначала "нарисовалась" одна прямая, затем вторая?

205