如何声明可从所有方法访问的全局 ArrayList。我尝试在 main、class 和其他各个地方声明它。
public static void InitializeTrips() {
public static List<Trip> TripList = new ArrayList<>();
TripList.add(new Trip(1, "NGP", "MUM", 3000, 1200, 1330));
TripList.add(new Trip(1, "MUM", "NGP", 3500, 1400, 1530));
}
public static void AddTrips() {
Scanner inpt = new Scanner(System.in);
int trpindx;String str;String end;int cst;int tmes;int tmee;
System.out.println("Please input the following :-");
System.out.print("Trip Index : "); trpindx = inpt.nextInt(); ;System.out.println("");
System.out.print("Source : "); str = inpt.next(); ;System.out.println("");
System.out.print("End : "); end = inpt.next(); ;System.out.println("");
System.out.print("Cost : "); cst = inpt.nextInt(); ;System.out.println("");
System.out.print("Departure : "); tmes = inpt.nextInt(); ;System.out.println("");
System.out.print("Arrival : "); tmee = inpt.nextInt(); ;System.out.println("");
}
public static void PrintTrips() {
System.out.print("Index Source Destination Depature Arrival Cost ");
.TripList.forEach(TripList -> {
System.out.println( ( TripList.getTRPINDX() )+ " " +(TripList.getSTR)+" "+(TripList.getEND)+" "+(TripList.getCST)+" "+(TripList.getTMEs)+" "+(TripList.getTMEe)+" "+(TripList.getDUR)+");
});
最佳答案
请尝试这个示例代码:-
package design.pattern;
import java.util.ArrayList;
public class GlobalAccessVariables {
public ArrayList<Trip> trips;
private GlobalAccessVariables() {
trips = new ArrayList<Trip>();
}
private static GlobalAccessVariables instance;
public static GlobalAccessVariables getInstance() {
if (instance == null)
instance = new GlobalAccessVariables();
return instance;
}
}
在任何类中访问它:
GlobalAccessVariables instance = GlobalAccessVariables.getInstance();
ArrayList tripsList = instance.trips;
tripsList.add("add trip here")
希望它对你有用
关于java - 在 Java 中声明全局 arrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59513055/