私は "Car"というクラスモデルを持っています。 私は「車」の新しいオブジェクトを作成したい場合は、私はこのような何かを行うことができます。新しいパーセル化可能オブジェクトを作成する適切な方法
Car car = new Car();
をしかし、今、私はこのクラスを作っParcelableを実装しています。クラス "車"の新しいオブジェクトを作成する最良の方法は何ですか?私はないよParcelable私は、このクラスに新しいですので
public class Car implements Parcelable {
public String color;
@Override
public int describeContents() { return 0; }
@Override
public void writeToParcel(Parcel dest, int flags) { dest.writeString(color); }
public static final Creator<Car> CREATOR = new Creator<Car>() {
public Car createFromParcel(Parcel in) { return new Car(in); }
public Car[] newArray(int size) { return new Car[size]; }
};
private Car(Parcel in) { color = in.readString(); }
public Car(String myColor) { color = myColor; }
}
を:
今私はこの方法でやっている:
Car car = new Car("blue");
をそして私は私のモデルクラスに新しいコンストラクタを追加していますこれが最高のものかどうか確かめてください。私のクラスに2つのコンストラクタがあっても何か悪いですか?これを行うための他のより効率的な方法はありますか?
この2番目のコンストラクタを追加すると、このクラスの新しいオブジェクトを作成する際にパフォーマンスが低下することがありますか?
まずクリーンコードを作成してください。次に、最適化します。それは私にとってはうまくいくようです。 – tynn
それは 'Parcelable'を作成する適切な方法でしょう。目立ったパフォーマンスの低下はありません。クラスの設計では、複数のコンストラクタが共通しています。 – DeeV
一部のフレームワークでは、空の場合でもデフォルトのコンストラクタを保持する必要があります –