当使用通配符时,我们通常会遇到需要处理不同类型的泛型对象的情况。下面是一个使用通配符的案例,展示了如何在一个方法中处理不同类型的泛型对象:
import java.util.ArrayList; import java.util.List; public class WildcardExample { public static void printList(List<?> list) { for (Object element : list) { System.out.println(element); } } public static void main(String[] args) { List<Integer> integerList = new ArrayList<>(); integerList.add(1); integerList.add(2); integerList.add(3); List<String> stringList = new ArrayList<>(); stringList.add("Hello"); stringList.add("World"); System.out.println("Printing integerList:"); printList(integerList); System.out.println("Printing stringList:"); printList(stringList); } }
在上面的例子中,我们定义了一个名为 printList 的方法,它接收一个使用通配符 ? 的 List 对象。在方法内部,我们使用一个增强的 for 循环来遍历列表并打印每个元素。
printList
?
List
for
在 main 方法中,我们创建了一个 List<Integer> 和一个 List<String> 对象,并分别向它们添加一些元素。然后,我们调用 printList 方法两次,传递不同类型的列表作为参数。
main
List<Integer>
List<String>
由于 printList 方法的参数使用了通配符 ?,它可以接收任意类型的 List 对象。在方法内部,我们使用 Object 类型来引用列表的元素,因为我们无法确定通配符的具体类型。
Object
通过这种方式,我们可以通过一个通用的方法来处理不同类型的泛型列表,从而实现代码的重用和灵活性。
希望这个案例能够帮助您理解在Java中使用通配符的情况。如果您有其他问题,请随时提问。
原文链接:codingdict.net