Java 如何从同一类中的前一个方法访问ArrayList?

Java 如何从同一类中的前一个方法访问ArrayList?,java,arraylist,methods,Java,Arraylist,Methods,在这个项目中,我试图从一个只包含日期字符串的ArrayList中访问信息 这是我试过的课程的一部分。如果没有整堂课让人难以理解,我可以编辑 public ArrayList<String> getTicketDates(){ ArrayList<String> theDateArray= new ArrayList<>(); int i; for (i=0; i <tickets.siz

在这个项目中,我试图从一个只包含日期字符串的ArrayList中访问信息

这是我试过的课程的一部分。如果没有整堂课让人难以理解,我可以编辑

public ArrayList<String> getTicketDates(){
           ArrayList<String> theDateArray= new ArrayList<>();
           int i;

           for (i=0; i <tickets.size(); i++){
               if(tickets .get(i).getPurchased()== false){
                 theDateArray.add(tickets.get(i).getDate());
               }
             }
             for(int f=0; f<theDateArray.size();f++){
               System.out.println(theDateArray.get(f)+ " ");
             }
             return theDateArray;
           }       



     public int getTickets(String date){
         int tix= theDateArray.indexOf(date);
         int occurrences= Collections.frequency(theDateArray, tix);
         if (tix>=0){
             System.out.println(occurrences);


         }
         return occurrences;
     }
public ArrayList getTicketDates(){
ArrayList theDateArray=新的ArrayList();
int i;

对于(i=0;iYour
theDateArray
变量范围是
getTicketDates()
方法的本地变量,因此您无法在另一个方法中访问它,因此将其声明为实例变量,如下所示:

public class YourTicketsClass {

    //declare ArrayList as an instance variable
    ArrayList<String> theDateArray= new ArrayList<>();

    public ArrayList<String> getTicketDates(){
        int i;
        for (i=0; i <tickets.size(); i++){
            if(tickets .get(i).getPurchased()== false){
                 theDateArray.add(tickets.get(i).getDate());
            }
        }
        for(int f=0; f<theDateArray.size();f++){
           System.out.println(theDateArray.get(f)+ " ");
        }
        return theDateArray;
    }       

    public int getTickets(String date){
         int tix= theDateArray.indexOf(date);
         int occurrences= Collections.frequency(theDateArray, tix);
         if (tix>=0){
             System.out.println(occurrences);
         }
        return occurrences;
   }
}
公共类YourTicketClass{
//将ArrayList声明为实例变量
ArrayList theDateArray=新的ArrayList();
公共数组列表getTicketDates(){
int i;

对于(i=0;i定义方法外部的数组列表,然后填充方法内部的列表。如下所示:

public class YourdataClass {
private List<String> theDateArray = new ArrayList<String>();

public ArrayList<String> getTicketDates(){
       int i;

       for (i=0; i <tickets.size(); i++){
           if(tickets .get(i).getPurchased()== false){
             theDateArray.add(tickets.get(i).getDate());
           }
         }
         for(int f=0; f<theDateArray.size();f++){
           System.out.println(theDateArray.get(f)+ " ");
         }
         return theDateArray;
       }       



 public int getTickets(String date){
     int tix= theDateArray.indexOf(date);
     int occurrences= Collections.frequency(theDateArray, tix);
     if (tix>=0){
         System.out.println(occurrences);


     }
     return occurrences;
 }
}/* end class */
public类YourdataClass{
private List theDateArray=new ArrayList();
公共数组列表getTicketDates(){
int i;

对于(i=0;i),您应该阅读java中的变量作用域。您的arraylist当前是一个局部变量,因此只能在局部作用域中使用。对不起,我还是一个新手。这与我9分钟前发布的答案有什么不同?