2013-05-06 64 views
0

当使用自定义的回调(如)的实际方法使用类似如何从装箱对象获得的原始

mHandler.invoke(context, View.this); 

被称为据对invoke商务部:

Java对象的.lang.reflect.Method.invoke(Object receiver,Object ... args)throws IllegalAccessException,IllegalArgumentException, InvocationTargetException

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

如果调用正常完成,返回值本身是 返回。 如果该方法被声明为返回一个基元类型,则返回值为。如果返回类型为void,则返回null。

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

回答

2

装箱,也称为包装,是在一个对象中放置一个基本类型的过程,以便该基元可以用作引用对象。 Wikipedia

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

+0

'布尔B =(布尔型)mHandler.invoke(上下文,View.this);'工作正常,从'Boolean'铸造'boolean'是自动。 – ilomambo 2013-05-06 22:19:42

0

使用booleanValue()Boolean对象,以获得原始boolean