xml*_*lmx 3 java reflection constructor types
我是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
Run Code Online (Sandbox Code Playgroud)
#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
Run Code Online (Sandbox Code Playgroud)
虽然我很佩服你"深思熟虑"(使用反思)的热情,但如果你是java新手,你可以考虑等到你在学习如何绕过它们之前牢牢掌握基础知识.
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |