这样子是新创建了
Subscription subscription= (Subscription) field.getType().newInstance();
但是我不想新建
field.get()这个方法又有什么用
这样不行 Subscription subscription=(Subscription) field;不能转类型
这样能转类型,但是直接就报错了field不能转成Subscription
Object obj=(Object)field;
Subscription subscription=(Subscription) obj;
只是想注解,然后在基类的onDestory销毁类中注解的Subscription
不知道我的描述是否正确,如有不准确的地方请指正,谢谢,注解和反射也没有经常用
ringa_lee2017-04-18 10:36:49
제 이해가 맞다면 질문자는 onDestory
의 힙 메모리에 있는 객체 인스턴스를 가져오길 원한다는 것입니다. 그렇다면 Unsafe
가능할 겁니다. 하지만 힙에 저장된 객체 인스턴스에 참조가 없으면 다음 GC에서 재활용되므로 이렇게 할 필요가 없습니다.
Unsafe
은 Java가 메모리를 직접 조작할 수 있도록 하는 백도어이며 플랫폼 독립적이지 않으며 매우 안전하지 않습니다. 메모리를 관리하기 위한 GC가 있다면 꼭 Unsafe
만 사용할 필요는 없습니다.