2016-10-27 65 views
0

我有一個類叫做車輛我在哪裏有車輛列表。JAVA去槽沒有指定類名稱

當去低谷名單我使用:

for (Vehicle vehicle : Vehicle.getVehicles()) { 
      System.out.println(++i + " - " + vehicle); 
     } 

比方說,我有一個字符串等於「車輛」,我想走線槽所有的車輛不使用類名(車輛字)。實現這一目標的良好做法是什麼?

我試圖做到這一點,因爲我在做一個抽象類,應該能夠對付的不僅僅是車輛,但別的傳播作爲一個String

+1

編程接口是你在找什麼。 –

+0

你能給出你想要實現的源代碼示例嗎? – kouljaboy

+0

你想達到什麼目前尚不清楚。提供更多細節。 – seal

回答

0

您可以使用通用的方法也。如下圖所示,通常我們所使用的代碼,以找到名單的東西: -

public <T> void iterateResults(List<T> list) { 
     for(T ref: list) { 
      System.out.println(ref); 
     } 
    } 
+0

在這種情況下,你甚至可以使用'列表',這使得意圖更清晰。 – biziclop

+0

@biziclop可以給你更多解釋爲什麼使用'List '而不是'List '。因爲在這兩種情況下這個代碼都可以工作 – seal

+1

@seal它們都可以工作,但''類型參數所說的基本上是這樣的:「此方法對類型參數的值不感興趣」。行爲沒有區別,只是語義上的細微差別。參見例如['Collections.reverse()'](https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html#reverse-java.util.List-) – biziclop

0

我從你的問題了解什麼是汽車是一類,它有一個靜態方法getVehicles(),它返回你的列表汽車。所以,現在當你想通過所有的車輛不使用類名字的意思是,你必須創建該類車輛的對象

Vehicle referenceVariable = new Vehicle(); 

,然後使用該referenceVariable

for (Vehicle vehicle : referenceVariable.getVehicles()) { ... } 
+0

你仍在使用類名'Vehicle'。 – walen