2014-04-28 37 views
0

我見過幾個線程共享類之間的變量,但我找不到一個方法。可能嗎?如何在方法之間共享變量?

例如,在方法的,我讀一個CSV文件,並把內容到一個列表。

方法B,我要排序的方法A.創建我如何可以使用一個創建的列表清單?

回答

0

您可以聲明列表作爲類的變量(外側的你的方法),使得它可以通過類一起使用,或者一個聲明它的一種方法內,並且,如下所示將它傳遞給其他的方法:

public static void main(String[] args) 
{ 
    A(); 
} 

public static void A() 
{ 
    ArrayList<String> stral = new ArrayList<String>(); 
    //fill ArrayList 
    B(stral); 
} 

public static void B(ArrayList<String> al) 
{ 
    //do whatever you want with al 
} 

希望這有助於!

+0

如果他們不是靜態方法,這個工作嗎? –

+0

是的,它可以使用非靜態方法,因爲它是靜態的,所以你只需要訪問它們與主方法稍有不同。如果它們都是非靜態的,則A和B之間的關係不會改變。 – lolcaks

0

在方法中聲明的變量是實例變量,它們的作用域僅在方法本身內。您不能訪問在另一個方法中聲明的變量。

但是如果你聲明的方法之外,類本身內部的列表,你可以通過列表到兩種方法或訪問它們的類的實例變量。它們都將是相同的List,因爲它們只是對同一對象的不同引用。