0

このエラーを解決するにはどうすればよいですか? this、 、(Article) this、だけを試しましsuper.iterable()たが、何も機能しないようです。のタイプのみArticleがこのキューに追加されます。Java 1.7.0_03。

[javac] C:\cygwin\home\Chloe\Queue.java:26: error: incompatible types
[javac]             for (Article a: (Iterable) this) {
[javac]                             ^
[javac]   required: Article
[javac]   found:    Object

これがソースコードです。

public class Queue<T> extends ArrayDeque {

public int words() {
    int words;
    for (Article a: (Iterable) this) {
    }
}
}
4

2 に答える 2

4

キューのイテレータは、 ではなくインスタンスを返します。ループは次のようになります。T ObjectArticle

public int words() {
    int words;
    for (Object a: this) {
       // do something
    }
}

または、アーティクル キューが必要な場合は、次のようにクラスを宣言します。

public class Queue extends ArrayDeque<Article> {

  // this queue will store Article instances

}
于 2012-08-16T04:33:39.580 に答える
2

キューにはオブジェクトが含まれています。アイテムがArticle...

これを試して

for (Object a: this)

またはこれ

public class Test<T> extends ArrayDeque<T> {

    public int words() {
        int words;
        for (T a : this) {
        }
    }
}
于 2012-08-16T04:33:47.410 に答える