Java 调用泛型/参数化方法时,是否有方法强制提供类型参数?

Java 调用泛型/参数化方法时,是否有方法强制提供类型参数?,java,generics,Java,Generics,假设我有这样一个类和方法: 公共类示例{ private final Map stuff=new HashMap(); 公共T getValue(字符串键){ 返回(T)个东西。获取(键); } } 是否可以强制编写调用getValue()的代码的人显式地为方法调用提供类型见证 Example-Example=new-Example(); 布尔resultWithParameter=example.getValue(“some_键”); 我想做的是在调用方法时总是需要参数。有办法吗?我知道我

假设我有这样一个类和方法:

公共类示例{
private final Map stuff=new HashMap();
公共T getValue(字符串键){
返回(T)个东西。获取(键);
}
}
是否可以强制编写调用
getValue()
的代码的人显式地为方法调用提供类型见证

Example-Example=new-Example();
布尔resultWithParameter=example.getValue(“some_键”);

我想做的是在调用方法时总是需要参数。有办法吗?我知道我总是可以添加一个
参数,但我正在探索其他选项。

没有办法强制执行它。下面是方法调用的结构

具体来说,您的示例引用了此示例

Primary . [TypeArguments] Identifier ( [ArgumentList] )

example . <Boolean>       getValue   ( "some_key"     );
Primary。[TypeArguments]标识符([ArgumentList])
实例getValue(“some_键”);
如果您不熟悉,最重要的部分是:

产品右侧的语法
[x]
表示零或零 x的一个实例。也就是说,
x
是可选符号


因此,当
[TypeArguments]
(类型见证)适用时,它总是可选的;无法强制执行它的存在。

这被称为类型见证,我以前从未听说过“类型见证”这个术语,因此我希望您能解释一下这个术语。@markspace@markspace来自Oracle教程,我以前从未听说过它被称为“类型见证”。今天我学到了一些新东西。
Primary . [TypeArguments] Identifier ( [ArgumentList] )

example . <Boolean>       getValue   ( "some_key"     );