如何从盒装对象中获取基元

时间:2013-05-06 20:22:10

标签: android object reflection callback primitive-types

使用自定义回调(如android:onClick)时,使用类似

的方法调用实际方法
mHandler.invoke(context, View.this);

根据invoke上的文件:

  

Object java.lang.reflect.Method.invoke(Object receiver,Object ...   args)抛出IllegalAccessException,IllegalArgumentException,   的InvocationTargetException

     

返回动态调用此方法的结果。相当于   receiver.methodName(arg1,arg2,...,argN)。

     

如果调用正常完成,则返回值本身为   回。 如果声明方法返回基本类型,则   返回值已装箱。如果返回类型为void,则返回null。

“盒装”是什么意思?如果实际方法返回boolean,我如何从Object获取它?

2 个答案:

答案 0 :(得分:2)

  

拳击(也称为包装)是在对象中放置基本类型以使基元可以用作参考对象的过程。 Wikipedia

在您的情况下,盒装基元将是Boolean object。我相信你应该能够将返回的非null对象直接转换为布尔对象或布尔基元。

答案 1 :(得分:0)

booleanValue()对象上使用Boolean,以获取boolean原语