Java OOP ve Java API/kaynak kodu düzenlemesi ile ilgili aşağıdaki durum hakkında kafam karıştı. Oracle's Java 8 API dayanarak, hasNext() soyut bir yöntemdir, ancak hasNext() öğesinin uygulandığı yeri bulamadım. Özel iç sınıfların her bir Koleksiyon sınıfında farklı Iteratörler uygulamak için kullanıldığını okudum, ancak uygulamanın yerini bulma konusunda daha fazla bilgi yok. Bazı kullanıcılar Eclipse IDE'ye Java JRE 1.8 kaynak kodu eklememi önerdi, ancak yalnızca Iterator arabiriminde soyut bir yöntem olarak bildirilen boolean hasNext();
görebiliyorum.Soyut yöntemin uygulanmasını nasıl bulabilirim, hasNext()?
Aşağıda gösterilen örnekte, yineleyici obj, doğrudan onu uygulayarak hasNext() yöntemini kullanır. Ancak, bir arayüzde soyut bir yöntem uygulamanız gerektiğini öğrettim.
Benim Soru:
(1) özet yönteminin uygulanmasını nasıl bulabilirim, hasNext()? (2) Bir yorum here kodunu bulabileceğimi söylüyor. ArrayList sınıfında hasNext() yönteminin uygulanmasının nedeni nedir, ancak soyut bir yöntem olarak hasNext() işareti var mı? Bu şekilde hasNext() uygulamasını bulmak sezgisel değildir.
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());
}
Hangi IDE'yi kullanıyorsunuz? IntelliJ IDEA'da bir yöntem seçebilir, CTRL ve sol fare tıklatma tuşlarına basabilirsiniz ve sizi doğrudan yöntemin yazıldığı yere götürecektir. –
Tam burada. http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/ArrayList.java#748 –
Sormaya çalıştığınız gibi geliyor "Nerede * ArrayList's * 'Iterator.hasNext()' uygulandı.Bu durum söz konusu ise (özellikle de bir uygulama arıyorsanız) bunu söylemek de faydalı olacaktır. – dimo414