У меня есть классная модель под названием «Автомобиль». Если я хочу, чтобы создать новый объект «автомобиль» Я могу сделать что-то вроде этого:Правильный способ создания нового добавочного объекта
Car car = new Car();
Но теперь, я сделал этот класс реализует Parcelable. Каков наилучший способ создания нового объекта класса «Автомобиль»?
Прямо сейчас я делаю так:
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 я не конечно, если это лучший aproach. Есть ли что-то плохое с двумя конструкторами в моем классе? Есть ли еще более эффективный способ сделать это?
Я боюсь, что добавление этого второго конструктора мое приложение должно потерять некоторую производительность при создании новых объектов этого класса.
Сначала напишите чистый код. Затем оптимизируйте. Мне это кажется прекрасным. – tynn
Это было бы подходящим способом создания «Parcelable». У вас не будет заметной потери производительности. Несколько конструкторов распространены в дизайне классов. – DeeV
В некоторых средах может потребоваться сохранить конструктор по умолчанию, даже если он просто пуст. –