2013-11-26 28 views
-1

這裏是代碼我使用我如何通過一個ArrayList分成不同的類

import java.util.Scanner; 
import java.io.*; 
import java.util.ArrayList; 

public class Message{ 

    Scanner input; 
    String emailLine = ""; 
    String line; 
    ArrayList<String> email = new ArrayList<String>(); 
    String emailString; 
    String sender; 
    String subject; 
    String emailMIN; 
    String[] newString; 
    StringBuilder emailStringBuilder = new StringBuilder(); 

    public Message(String m)throws IOException{ 


    File inFile = new File ("mail.txt"); 
    input = new Scanner (inFile); 
    String message; 
    getEmails(); 
    } 

    public void getEmails(){ 

    while(input.hasNextLine()){ 
      line = input.nextLine(); 
      System.out.println("Test, line: " + line); 

        if(line.equals("<END>")){ 
        System.out.println("Test, <END> reached"); 
        System.out.println("Test, email String: " + 
emailStringBuilder.toString()); 
          email.add(emailStringBuilder.toString()); 
        } 
        else{ 
          emailStringBuilder.append("\n" + line); 
        } 
      } 
      } 

我想要的電子郵件的ArrayList傳遞到不同的等級,這樣我可以打破的字符串ArrayList分成不同的數組。我該怎麼做呢?同樣,一旦我將它放到不同的類中,我如何訪問ArrayList的每個元素,並將每個元素分解成另一個ArrayList,每個元素由行分隔開來?

+0

其他類應該有一個接受'ArrayList' - 或者在其他類 –

+1

用同樣的方法實例化'Message' AA構造你通過任何其他對象。 –

回答

0

那麼首先ArrayList不是List陣列。這只是一個List項目,你的情況String

如果你想一個ArrayList傳遞給不同的類,你可以簡單地做這樣的事情:

public class MyOtherClass { 

public void doSomething(ArrayList<String> myList) { 
    // do something with "myList" 
} 

,然後在Message類:

MyOtherClass myClass = new MyOtherClass(); 
myClass.doSomething(email); 

這是幫扶?

注意

從你我想你沒有完全瞭解ArrayList工程問題的編輯。它是不是 a ListArray!它只是List接口的陣列實現,以便在某些任務中獲得更好的性能。欲瞭解更多信息,請閱讀the javadocs about ArrayList

編輯

由於peeskillet是在暗示,你也可以在你的新類實例化一個Message類對象,並從那裏ArrayList,但隨後email必須是一個公共領域在你的班級Message或聲明email的獲取方法。

編輯

既然你加入了更多的問題:

你可以通過一個ArrayList這樣的所有元素:

For (String nextString : email) { 
    System.out.println(nextString); // Or do whatever you want with it :) 
} 
0

使用message.getEmails()讓你的電子郵件。

下面是一個示例代碼

public class Message{ 
Scanner input; 
String emailLine = ""; 
String line; 
List<String> emails = new ArrayList<String>(); 
String emailString; 
String sender; 
String subject; 
String emailMIN; 
String[] newString; 
StringBuilder emailStringBuilder = new StringBuilder(); 

public Message(String m)throws IOException{ 


    File inFile = new File ("mail.txt"); 
    input = new Scanner (inFile); 
    String message; 
    populateEmails(); 
} 

public void populateEmails(){ 

    while(input.hasNextLine()){ 
     line = input.nextLine(); 
     System.out.println("Test, line: " + line); 

     if(line.equals("<END>")){ 
      System.out.println("Test, <END> reached"); 
      System.out.println("Test, email String: " + 
        emailStringBuilder.toString()); 
      emails.add(emailStringBuilder.toString()); 
     } 
     else{ 
      emailStringBuilder.append("\n" + line); 
     } 
    } 

} 

public List<String> getEmails() { 
    return emails; 
} 
} 
相關問題