我有一個名爲「汽車」的類模型。 如果我想創建的「駕駛」的新對象,我可以做這樣的事情:正確的方式來創建一個新的parcelable對象
Car car = new Car();
但現在,我做了這個類實現Parcelable。創建「Car」類新對象的最佳方式是什麼?
現在我做的是這樣的:
Car car = new Car("blue");
而且我加入一個新的構造我的模型類:
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; }
}
由於我是新來這個班Parcelable我不是當然,如果這是最好的答案。我班有兩個構造函數是不是很糟糕?有沒有其他更有效的方法來做到這一點?
我擔心添加這第二個構造函數我的應用程序應該失去一些性能,在創建此類的新對象。
先寫乾淨的代碼。然後優化。對我來說似乎很好。 – tynn
這將是創建一個'Parcelable'的適當方式。你不會遭受任何明顯的性能損失。在課堂設計中多個構造函數是很常見的。 – DeeV
某些框架可能會要求您保留默認構造函數,即使它只是空的 –