在JLS Capture Conversion中,它讨论了两种编写reverse
方法签名的方法:
public static void reverse(List<?> list);
public static <T> void reverse(List<T> list);
我的问题是为什么第二个向调用者公开实现信息?特别是在示例中,它表示第二个是不合需要的,因为它向调用者公开了实现信息。
答案 0 :(得分:0)
列表与LT;?&GT;迭代lyst时将返回Object类型的元素。 (例如:lyst.get(..))
列表与LT; T&GT;将返回类型T的元素。
这有助于将不需要的信息隐藏到实现/使用接口的人。