`new Class <! - ? - > [] {}`是什么意思?

时间:2017-10-02 01:31:43

标签: java

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

  

Java设计不适合鸭子打字。你可能选择的方式   这是反思:

public void doSomething(Object obj) throws Exception {

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

new Class<?>[] {}是什么意思?感谢。

1 个答案:

答案 0 :(得分:5)

这会创建一个类型为Class<?>的空数组(这是Class es的外卡捕获)。创建的数组明确长度为0。这表明getName不带参数(如果它接受了参数,则数组需要包含匹配类型签名的相应类)。