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

staticまず、FlightInfoDetails クラスの多くのインスタンスを作成できるようにしたい場合は、持っている修飾子を取り除く必要があります。

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 オブジェクトを作成したり、各オブジェクトのデータを設定したりする際に問題が発生することはなくなりました。メイン メソッドでは、これらのオブジェクトの 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 に答える