在Java中,泛型方法可以接受一个或多个类型参数,以便在方法中使用这些类型参数来创建泛型集合或其他泛型对象。要将类型传递给泛型方法,可以在调用方法时指定类型参数。
以下是一个简单的示例,演示了如何将类型传递给泛型方法:
public class GenericMethodExample {
public static void main(String[] args) {
// 调用泛型方法,指定类型参数为String
GenericMethod<String> genericMethod = new GenericMethod<>();
genericMethod.printList(Arrays.asList("Hello", "World"));
}
}
class GenericMethod<T> {
public void printList(List<T> list) {
for (T item : list) {
System.out.println(item);
}
}
}
在这个例子中,我们定义了一个名为GenericMethod
的泛型类,它有一个名为printList
的泛型方法。在调用printList
方法时,我们指定了类型参数为String
,并传递了一个包含字符串的列表。
在泛型方法中,可以使用类型参数T
来创建泛型对象,例如在这个例子中的List<T>
。这样,我们就可以在方法中使用泛型类型,而不需要知道具体的类型。
如果需要在泛型方法中使用多个类型参数,可以在尖括号<>
中列出所有类型参数,例如:
public class GenericMethodExample {
public static void main(String[] args) {
// 调用泛型方法,指定类型参数为String和Integer
GenericMethod<String, Integer> genericMethod = new GenericMethod<>();
genericMethod.printMap(new HashMap<String, Integer>() {{
put("Hello", 1);
put("World", 2);
}});
}
}
class GenericMethod<K, V> {
public void printMap(Map<K, V> map) {
for (Map.Entry<K, V> entry : map.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue());
}
}
}
在这个例子中,我们定义了一个名为GenericMethod
的泛型类,它有一个名为printMap
的泛型方法,该方法接受一个泛型类型参数K
和一个泛型类型参数V
。在调用printMap
方法时,我们指定了类型参数为String
和Integer
,并传递了一个包含字符串和整数的映射。
在泛型方法中,可以使用类型参数K
和V
来创建泛型对象,例如在这个例子中的Map<K, V>
。这样,我们就可以在方法中使用泛型类型,而不需要知道具体的类型。
领取专属 10元无门槛券
手把手带您无忧上云