西-罗 2009-11-20 00:44
浏览 781
已采纳

public Object invoke(Object obj, Object... args) 那三点是怎么回事?

我在看Method源码的时候看到这样一个方法,但是,我实在是搞不懂Object后面的三点(...)是有什么用,或者是什么意思!?

  • 写回答

2条回答 默认 最新

  • rednaxelafx 2009-11-20 00:59
    关注

    从Java 5开始,Java语言对方法参数支持一种新写法,varargs(可变长度参数列表),其语法就是类型后跟...,表示此处接受的参数为0到多个Object类型的对象,或者是一个Object[]。
    例如说public static void main(String[] args)就可以写成public static void main(String... args)。又例如说java.util.Arrays类上的public static List asList(T... a),在调用时可以是:
    [code="java"]Arrays.asList(1, 2, 3)[/code]
    也可以是
    [code="java"]Arrays.asList(new Integer[] { 1, 2, 3 })[/code]

    Method.invoke()的参数使用了varargs,意味着调用该方法时参数会被数组包装起来。有兴趣的话可以读下这帖:[url]http://www.iteye.com/topic/477934[/url]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 arduino控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题