gpt4 book ai didi

java - 点运算符 `.`(在通用参数之前)是什么意思?

转载 作者:搜寻专家 更新时间:2023-10-30 20:59:37 27 4
gpt4 key购买 nike

我今天看到这段代码:

    ImmutableMap<Class<? extends ClientCommand>, CommandProcessorInterface> immutableMap =
ImmutableMap.<Class<? extends ClientCommand>, CommandProcessorInterface>of(...

这个语法是什么意思?

ImmutableMap.<Class ..

我知道泛型紧跟在类名之后。没有?

有什么区别:

ImmutableMap<Class..ImmutableMap.<Class..

最佳答案

这意味着您正在调用一个名为 of 的通用静态方法在ImmutableMap类。

这与调用 static 几乎相同方法,嵌套在某个类中:

SomeClass.staticMethod();

对于您的方法定义了类型参数的情况,您可以显式提供泛型类型,这样做是这样的:

SomeClass.<Type>genericStaticMethod();

然后回答你最后一个问题:

What is the difference between ImmutableMap<Class...> and ImmutableMap.<Class... ?

第一个通常在创建泛型类的实例时使用。它用于在类级别定义泛型类型,而第二个用于调用嵌套在某个类中的泛型静态方法。

关于java - 点运算符 `.`(在通用参数之前)是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27166610/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com