我對以下與Java OOP和Java API /源代碼安排有關的情況感到困惑。基於Oracle's Java 8 API,hasNext()是一種抽象方法,但我找不到hasNext()的實現。我讀過私人內部類用於在每個Collection類中實現不同的迭代器,但沒有關於如何找到實現位置的更多信息。有些用戶建議我將Java JRE 1.8源代碼添加到Eclipse IDE中,但我只能在Iterator接口中將boolean hasNext();
聲明爲抽象方法。如何找到抽象方法hasNext()的實現?
如下所示,迭代器obj直接使用hasNext()而不是實現它。但是,我被教導你需要在界面中實現抽象方法。 (1)如何找到抽象方法hasNext()的實現?如何找到抽象方法hasNext()的實現? (2)評論說我可以找到代碼here。在ArrayList類中實現hasNext()是什麼原因,但將hasNext()標記爲抽象方法?以這種方式找到hasNext()實現並不直觀。
List<String> list = new ArrayList<String>();
list.add("item-1");
list.add("item-2");
list.add("item-3");
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
你在用什麼IDE?在IntelliJ IDEA中,您可以選擇一種方法,按住CTRL並單擊鼠標左鍵,直接進入寫入方法的代碼點。 –
就在這裏。 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/ArrayList.java#748 –
這聽起來像你試圖問「Where is * ArrayList的*'Iterator.hasNext()'被實現,如果是這種情況(你正在尋找一個特定的實現),那麼在這個問題中這麼說很有幫助。 – dimo414