0

我有这样的课。。

public static class FlightInfoDetails {
    static String FlightNumber;
    static String DepartureDate;
    static String DepartureTime;

    public static void setFlightNumber(String pstrData) {
        FlightNumber= pstrData;
    }

    public static void setDepartureDate(String pstrData) {
        DepartureDate = pstrData;
    }

    public static void setDepartureTime(String pstrData) {
        DepartureTime = pstrData;
    }

    public static String getFlightNumber()
    {
        return FlightNumber;
    }

    public static String getDepartureDate()
    {
        return DepartureDate;
    }
}

等等。一切都很好,但现在我需要处理多个 FlightInfoDetails. 当我尝试调用该 set 方法时,以前的数据会丢失。有人可以帮忙吗?

4

2 回答 2

3

首先,如果您希望能够创建 FlightInfoDetails 类的许多实例,您应该摆脱static您拥有的修饰符。

public class FlightInfoDetails {
String FlightNumber;
String DepartureDate;
String DepartureTime;
public void setFlightNumber(String pstrData) {
    FlightNumber= pstrData;
}
public void setDepartureDate(String pstrData) {
    DepartureDate = pstrData;
}

public void setDepartureTime(String pstrData) {
    DepartureTime = pstrData;
}
public String getFlightNumber()
{
    return FlightNumber;
}
public String getDepartureDate()
{
    return DepartureDate;
}
}

现在,创建多个 FlightInfoDetails 对象或为每个对象设置数据应该不会有任何问题。在 main 方法中,您可以创建这些对象的 ArrayList。

public static void main(String [] args)
{
        ArrayList<FlightInfoDetails> flightList = new ArrayList<FlightInfoDetails>():
        FlightInfoDetails info = new FlightInfoDetails();
        flightList.add(info);
        FlightInfoDetails info2 = new FlightInfoDetails();
        flightList.add(info2);

        info.setDepartureDate("May 20, 2013");
        info2.setDepartureDate("June 10, 2013");
}
于 2013-05-20T14:48:15.187 回答
2
  • FlightInfoDetails添加您的类的新实例。

FlightInfoDetails details = new FlightInfoDetails();

  • 在此实例上根据需要调用 setter 方法。

details.setDepartureDate("12/12/2013");

  • 将此实例存储在List

List<FlightInfoDetails> detailsList = new ArrayList<FlightInfoDetails>();

detailsList.add(details);

注意:确保从类中删除所有static修饰符,FlightInfoDetails以便创建此类的实例。

于 2013-05-20T14:52:07.200 回答