getGenericType()的幂等性

时间:2014-10-24 16:20:06

标签: java android generics reflection

我正在尝试为序列化组件中的泛型类型定义处理程序。

在普通的java中,我写了

public class MyClass {
    public List<String> myField;
}

Type type = MyClass.class.getDeclaredField("myField").getGenericType();
Type typeAgain = MyClass.class.getDeclaredField("myField").getGenericType();

我可以断言

type.equals(typeAgain) == true
type.hashCode() == typeAgain.hashCode()

含义我可以在HashMap<Type, TypeHandler>中使用它。

然而,在android上,具有相同类的相同操作会使两个断言都为假。

在同一个字段上连续两次拨打getGenericType()(我已经确认该字段本身是相同的)不会给出相同的结果。

这是预期的行为吗?

0 个答案:

没有答案