Java 如何修复我将其置于注释下的错误?

Java 如何修复我将其置于注释下的错误?,java,inheritance,listiterator,Java,Inheritance,Listiterator,我不明白为什么在使用listIterator时会出现错误? 我得到错误的点后面是一条评论 这是我的代码: /** Returns an iterator for iterating through this list. @return an iterator for iterating through this list */ public ListIterator<String> listIterator() { ret

我不明白为什么在使用listIterator时会出现错误? 我得到错误的点后面是一条评论

这是我的代码:

   /**
      Returns an iterator for iterating through this list.
      @return an iterator for iterating through this list
  */
   public ListIterator<String> listIterator()
   {  
      return new LinkedListIterator();
      // error here it says: Type safety: The expression of type 
      // LinkedList.LinkedListIterator needs unchecked conversion to conform
      // to ListIterator<String>
   }

   class Node
   {  
      public Object data;
      public Node next;
   }

   class LinkedListIterator implements ListIterator 
   /* here also it says:The type LinkedList.LinkedListIterator must implement
     the inherited abstract method ListIterator.previousIndex() when i implement 
     the listIterator it says:ListIterator is a raw type. References to generic
      type ListIterator<E> should be parameterized*/
/**
返回迭代此列表的迭代器。
@返回迭代此列表的迭代器
*/
公共ListIterator ListIterator()
{  
返回新的LinkedListIterator();
//这里的错误是:类型安全:类型的表达式
//LinkedList.LinkedListIterator需要未经检查的转换才能符合
//列表迭代器
}
类节点
{  
公共对象数据;
公共节点下一步;
}
类LinkedListIterator实现ListIterator
/*这里还说:类型LinkedList.LinkedListIterator必须实现
实现时继承的抽象方法ListIterator.previousIndex()
listIterator表示:listIterator是原始类型。对泛型的引用
类型ListIterator应该参数化*/

我不知道如何修复它们,因此将需要任何帮助。谢谢

您收到了此错误

LinkedList.LinkedListIterator must implement the inherited abstract method ListIterator.previousIndex()
因为
LinkedListIterator
需要实现
ListIterator
类中定义的所有方法。在您这样做之前,您的
链接标识符类型实际上并不存在。

在您的第一个方法中

public ListIterator<String> listIterator()
   {  
      return new LinkedListIterator(); // error here it says: Type safety: The expression of type LinkedList.LinkedListIterator needs unchecked conversion to conform to ListIterator<String>
   }
ListIterator不是泛型的,您可以将其设置为泛型。例如
ListIterator

您还可以通过通知编译器您知道的让它保持原样来删除此警告

 @SuppressWarnings("rawtypes")
class LinkedListIterator implements ListIterator 

也许一本关于Java的入门书或阅读Oracle教程将是一项不错的投资。如果您和@user1270995可以合并您的答案,这将是一件很棒的事情,因为这两部分都是必需的。感谢您扩展您的答案+1.
class LinkedListIterator implements ListIterator
 @SuppressWarnings("rawtypes")
class LinkedListIterator implements ListIterator