2013-05-06 61 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