已有101人关注
<<java从入门到精通>>关于反射的问题
发表在Java图书答疑 2017-05-04
是否精华
版块置顶:

<<java从入门到精通>>300页,实例16.3中,为什么

Object[] parameters = new Object[] {new String[]{"100", "200", "300"}};这段代码不能写成

Object[] parameters = new Object[] {"100", "200", "300"};

JBQX26BU4]_4}{U7T1T0}L4.png


分享到:
精彩评论 5
David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-05-04
沙发

可以写成Object[] parameters = new Object[] {"100", "200", "300"};。源码的目的是提高代码的可读性,让阅读代码的人员意识到数组的类型为String。

幻幻幻
学分:5 LV1
2017-05-04
板凳

David 发表于2017-05-04 16:35

可以写成Object[] parameters = new Object[] {"100", "200", "300"};。源码的目的是提高代码的可读性,让阅读代码的人员意识到数组的类型为String。

OXX_(NUW(5L3YQ4NFNSA1UX.png

可是我改成这样以后就进入死循环了。。。

David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-05-04
地板

这是因为Example_01.java中第3个构造方法的参数为String类型的可变数量参数。虽然Object[] parameters = new Object[] {"100", "200", "300"};编译上没有错误,但是当程序执行到(Example_01)contructor.newInstance(parameters)时,由于parameters的数据类型是Object,而非String,导致了异常的发生。

幻幻幻
学分:5 LV1
2017-05-04
4L

David 发表于2017-05-04 18:18

这是因为Example_01.java中第3个构造方法的参数为String类型的可变数量参数。虽然Object[] parameters = new Object[] {"100", "200", "300"};编译上没有错误,但是当程序执行到(Example_01)contructor.newInstance(parameters)时,由于parameters的数据类型是Object,而非String,导致了异常的发生。

Object[] parameters = new Object[]{new String[]{"M", "W", "Q"}};这样写parameters也是Object类型啊

David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-05-05
5L

读者说的对,这里是我的错误。Object[] parameters = new Object[]{new String[]{"M", "W", "Q"}};这条语句的含义是Object类型的数组parameters里面有个数组成员是string[]型的{"M", "W", "Q"}。

首页上一页 1 下一页尾页 5 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照