2013-11-26 27 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; 
} 
} 
相关问题