如何从盒装对象中获取原语



当使用自定义回调(如android:onClick)时,实际的方法是使用类似

的东西来调用的
mHandler.invoke(context, View.this);

根据invoke上的doc:

java.lang.reflect.Method

对象。调用(对象接收器,对象…抛出IllegalAccessException, IllegalArgumentException,InvocationTargetException

返回动态调用此方法的结果。相当于接收器。methodName(arg1, arg2,…)argN)。

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

"box "是什么意思?如果实际的方法返回一个boolean,我怎么能从Object得到它?

装箱,也称为包装,是在对象中放置原语类型的过程,以便该原语可以用作引用对象。维基百科

在您的例子中,盒装原语将是布尔对象。我相信您应该能够将返回的非空对象直接转换为布尔对象或布尔原语。

Boolean对象上使用booleanValue(),得到boolean原语

相关内容

  • 没有找到相关文章

最新更新