java迭代器-为什么泛型类型是可选的

java迭代器-为什么泛型类型是可选的,java,generics,Java,Generics,我有以下方法: public Iterator<Item> iterator() { return new ListIterator(); } 那么编译器也可以处理这个问题。迷惑 为什么java编译器接受这两行 这就是向后兼容性。泛型仅包含在Java1.5中。因此,如果不允许使用原始类型(这就是它们的名称),那么前面的所有代码都将无法编译。然而,即使你被允许。无论您在哪里使用原始类型,编译器都会给您一个未检查的警告 为什么java编译器接受这两行 这就是向后兼容性。泛型仅包

我有以下方法:

public Iterator<Item> iterator() {
    return new ListIterator();
}
那么编译器也可以处理这个问题。迷惑

为什么java编译器接受这两行

这就是向后兼容性。泛型仅包含在Java1.5中。因此,如果不允许使用原始类型(这就是它们的名称),那么前面的所有代码都将无法编译。然而,即使你被允许。无论您在哪里使用原始类型,编译器都会给您一个未检查的警告

为什么java编译器接受这两行

这就是向后兼容性。泛型仅包含在Java1.5中。因此,如果不允许使用原始类型(这就是它们的名称),那么前面的所有代码都将无法编译。然而,即使你被允许。无论您在哪里使用原始类型,编译器都会给您一个未检查的警告

为什么java编译器接受这两行

这就是向后兼容性。泛型仅包含在Java1.5中。因此,如果不允许使用原始类型(这就是它们的名称),那么前面的所有代码都将无法编译。然而,即使你被允许。无论您在哪里使用原始类型,编译器都会给您一个未检查的警告

为什么java编译器接受这两行


这就是向后兼容性。泛型仅包含在Java1.5中。因此,如果不允许使用原始类型(这就是它们的名称),那么前面的所有代码都将无法编译。然而,即使你被允许。无论您在何处使用原始类型,编译器都会给您一个未经检查的警告。

旧结构(原始类型)是否会永久保持向后兼容性?或者它会被切断(就像Python3对Python2的一些功能所做的那样)?@tkoomzaaskz我认为它不会在不久的将来被删除。至少目前还没有这样的计划。旧的结构(原始类型)是否会永远保持向后兼容性?或者它会被切断(就像Python3对Python2的一些功能所做的那样)?@tkoomzaaskz我认为它不会在不久的将来被删除。至少目前还没有这样的计划。旧的结构(原始类型)是否会永远保持向后兼容性?或者它会被切断(就像Python3对Python2的一些功能所做的那样)?@tkoomzaaskz我认为它不会在不久的将来被删除。至少目前还没有这样的计划。旧的结构(原始类型)是否会永远保持向后兼容性?或者它会被切断(就像Python3对Python2的一些功能所做的那样)?@tkoomzaaskz我认为它不会在不久的将来被删除。至少目前还没有这样的计划。
Deque<Integer> deque = new Deque<Integer>();
// ...
Iterator<Integer> iter1 = deque.iterator();
Iterator iter2 = deque.iterator();
Deque deque2 = new Deque();