Имеется класс BloodCell в очень большой и длинной иерархии классов общего назначения. Важно: все классы по своему определяют toString(). Исходный код классов-предков недоступен.
public class BloodCell /*...*/ {
// много кода
public String objToString() {
return Object.super.toString(); // ALARM
}
}
class Tester {
public static void main(String[] args){
var bc = new BloodCell();
System.out.println(bc.objToString());
}
}
Есть большое желание получить тот результат, что выдаётся корневым toString(). Т.е. хочу увидеть адрес объекта в логическом адресном пространстве.
Вопрос: как это сделать?
Замечание: строка с комментарием "ALARM" выдуманная. Хочется какой-то аналог такого действия.
Integer.toHexString(System.identityHashCode(bc));
Важно понимать, что упомянутый в документации internal address - это не адрес расположения объекта в памяти, это почти случайное число, а расположение объекта в памяти постоянно меняется, при каждой сборке мусора.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости