我有一个名为“汽车”的类模型。 如果我想创建的“驾驶”的新对象,我可以做这样的事情:正确的方式来创建一个新的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
某些框架可能会要求您保留默认构造函数,即使它只是空的 –