Java 泛型方法签名说明
此泛型方法签名是什么意思
public <S, D> D map(S sourceObject, java.lang.Class<D> destinationClass);
我指的是.
此方法返回在第二个参数中发送的相同类型的对象。<S, D>
我不能只写吗
public D map(S sourceObject, java.lang.Class<D> destinationClass);
此泛型方法签名是什么意思
public <S, D> D map(S sourceObject, java.lang.Class<D> destinationClass);
我指的是.
此方法返回在第二个参数中发送的相同类型的对象。<S, D>
我不能只写吗
public D map(S sourceObject, java.lang.Class<D> destinationClass);
这意味着此方法调用采用两个类型参数:S 和 D。
该部分旨在声明此方法是泛型的,并采用两个类型参数,然后将它们用作方法签名中实际类型的占位符。<S, D>
调用该方法时,要么提供参数,要么从作为参数传递的表达式类型中推断出参数,如下所示:
String val = map(10, String.class);
在本例中,S 是,D 是Integer
String
我想纠正后仍然有错误(或者你应该向我们展示整个类,如果它也包含类型参数),但我想我理解你的问题;如注释中所述,您可以简单地删除type参数,因为它仅在方法签名中使用一次,并将其替换为。然后,简化的变体将如下所示:S
Object
public <D> D map(Object sourceObject, java.lang.Class<D> destinationClass);