【问题标题】:What does `new Class<?>[] {}` mean?`new Class<?>[] {}` 是什么意思?
【发布时间】:2017-10-02 01:31:42
【问题描述】:

来自https://stackoverflow.com/a/1079799

Java 在设计上不适合鸭式打字。您可能选择的方式 做它是反射:

public void doSomething(Object obj) throws Exception {

    obj.getClass().getMethod("getName", new Class<?>[] {}).invoke(obj);
}

new Class&lt;?&gt;[] {} 是什么意思?谢谢。

【问题讨论】:

  • 同new Class&lt;?&gt;[0] ....

标签: java


【解决方案1】:

这会创建一个Class&lt;?&gt; 类型的空数组(这是Classes 的通配符捕获)。创建的数组显式长度为0。这表明getName 不带参数(如果带参数,则数组需要包含适当的类以匹配类型签名)。

【讨论】:

  • 谢谢。你能解释一下{}是什么意思吗?
  • @Ben 一个零长度数组初始化器。 String[] arr = new String[] {"a"}; ... 或 String[] arr = new String[] {};(用于空数组)或 new String[0];(相同)。
猜你喜欢
  • 1970-01-01
  • 2012-12-18
  • 2012-07-28
  • 1970-01-01
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
  • 2011-07-12
相关资源
最近更新 更多