搜尋

首頁  >  問答  >  主體

java - 能不能直接通过反射拿到对象,实现注解回收对象

这样子是新创建了
Subscription subscription= (Subscription) field.getType().newInstance();
但是我不想新建

field.get()这个方法又有什么用

这样不行 Subscription subscription=(Subscription) field;不能转类型

这样能转类型,但是直接就报错了field不能转成Subscription
Object obj=(Object)field;
Subscription subscription=(Subscription) obj;

只是想注解,然后在基类的onDestory销毁类中注解的Subscription

不知道我的描述是否正确,如有不准确的地方请指正,谢谢,注解和反射也没有经常用

阿神阿神2846 天前657

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-04-18 10:36:49

    如果我理解的沒有問題的話,題主是想在onDestory时拿到堆内存中的对象实例。如果是这样,Unsafe應該可以實現。但是沒有這樣做的必要,因為當堆中保存的物件實例在沒有任何引用的情況下,會在下一次GC時被回收。

    Unsafe是java直接可以操作内存的后门,并非与平台无关,而且很不安全。在有GC管理内存的情况下,没有必要只用Unsafe

    回覆
    0
  • 取消回覆