2015-07-12 30 views
-7

對象o我發現這個例子,JAVA book.i運行此代碼爲eclipse.but無法理解一些things.willü能夠理解我的嗎?什麼是Object []和在java中

import java.util.*; 

class Dog { 
    public String name; 
    Dog(String n) { 
     name = n; 
     System.out.println(name); 
    } 
} 
class ItTest { 
    public static void main(String[] args) { 
     List<Dog> d = new ArrayList<Dog>(); 
     Dog dog = new Dog("Kutta"); 
     d.add(dog); 
     d.add(new Dog("Kheki Kutta")); 
     d.add(new Dog("Leri Kutta")); 
     Iterator<Dog> i3 = d.iterator(); 
     while (i3.hasNext()) { 
      Dog d2 = i3.next(); 
      System.out.println(d2.name); 
     } 
     System.out.println("size " + d.size()); 
     System.out.println("get1 " + d.get(1).name); 
     System.out.println("Kutta " + d.indexOf(dog)); 
     d.remove(2); 
     Object[] oa = d.toArray(); 
     for(Object o : oa) { 
      Dog d2 = (Dog)o; 
      System.out.println("oa " + d2.name); 
     } 
    } 
} 

在這些線路

Object[] oa = d.toArray(); 
for(Object o : oa) { 
    Dog d2 = (Dog)o; 
    System.out.println("oa " + d2.name); 

什麼是Object[] oa,什麼是Object o也是會發生什麼?

+0

任何Java教程將很容易解釋:java.lang.Object中是根Java對象類; Object []是一個Object類型的引用數組。請自行閱讀更多內容。這個問題太基本了。 – duffymo

+0

這些線的每個要麼記錄很好,或者存在萬噸關於它的資源。我爲什麼不投關閉這個問題的唯一原因是,世界上沒有其他選擇「用戶是懶得做基礎研究」 – Paul

+4

我投票關閉這一問題作爲題外話,因爲作者應該能夠回答這對於自己來說是最少的閱讀和努力。 – duffymo

回答

2

Object[] oa是對象的數組,是調用List#toArray的結果。

的這部分代碼:

for (Object o : oa) { 
    /* your code goes here */ 
} 

正所謂enhanced for loop。這就像寫這個代碼:

for (int i = 0; i < oa.length; i++) { 
    Object o = oa[i]; 
    /* your code goes here */ 
} 

Object o是一個局部變量,獲得數組中的元素。 Object是Java中的根類。

請,爲未來的時間,如果有代碼,你不明白,那麼你應該先搜索一下它the official Java tutorial

相關問題