2012-04-17 2 views
-2

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クラスで定義されたすべてのメソッドを実装するために、このエラーに

LinkedList.LinkedListIterator must implement the inherited abstract method ListIterator.previousIndex() 

LinkedListIteratorためのニーズを取得している

+1

であるとしてそれは聞かせてあなたはそれがListIterator<String>

をgeneric.ie作ることができますし、また、あなたが知っているコンパイラを通知することにより、この警告を削除することができ、汎用ではありませんおそらく、初心者用のJavaの本やOracleのチュートリアルを読むことは良い投資になるでしょう。 –

答えて

1

ありがとうございました。それを行うまでは、LinkedListIteratorタイプは実際には存在しません。

+0

あなたと@ user1270995が両方の部分が必要なので、あなたの答えをマージすることができれば素晴らしいでしょう。 – Perception

3
あなたの第1の方法では

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> 
    } 

あなたの戻り値の型は、一般的な反復子ですが、非ジェネリックLinkedListIteratorを戻ってきています。 応じて、あなただけのあなたは、単にあなたがエラーではない別の警告を取得しているあなたの未実装のメソッドを追加したときに第二..

@SuppressWarnings("unchecked") 
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 LinkedListIterator implements ListIterator 

反復子は、それはそれは

@SuppressWarnings("rawtypes") 
class LinkedListIterator implements ListIterator 
+0

回答を拡大していただきありがとうございます。 +1。 – Perception

関連する問題