加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – `String.class`和`new Class [] {String.class}`有什么

发布时间:2020-12-15 04:22:19 所属栏目:Java 来源:网络整理
导读:我是 Java的新手.我有一个问题如下: class MyClass{ public MyClass(String s){}}MyClass MyObject;Constructor ctor1 = MyObject.class.getConstructor(String.class); // #1Constructor ctor2 = MyObject.class.getConstructor(new Class[]{String.class}
我是 Java的新手.我有一个问题如下:

class MyClass
{
    public MyClass(String s){}
}

MyClass MyObject;

Constructor ctor1 = MyObject.class.getConstructor(String.class); // #1
Constructor ctor2 = MyObject.class.getConstructor(new Class[]{String.class}); // #2

#1和#2有什么区别?

解决方法

没有区别.

参数类型getConstructor()是Class<?> …,它采用varargs语法,这是一种语法糖,可自动将任意大小(包括零)的元素列表转换为数组.

为了说明,这两个调用是等效的:

Constructor ctor1 = MyObject.class.getConstructor(String.class,Integer.class); // #1
Constructor ctor2 = MyObject.class.getConstructor(new Class[]{String.class,Integer.class}); // #2

虽然我很佩服你“深思熟虑”(使用反思)的热情,但如果你是java的新手,你可以考虑等到你在学习如何规避它们之前牢牢掌握基础知识.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读