Android,编辑自动值参数值

Android, Edit Auto Value parameter value

我正在为我的对象使用 google 自动值,我还使用了 Builder class 和 create 方法来初始化我的对象,那么我怎样才能编辑我的对象的特定参数而不再次初始化它?

@AutoValue
public abstract class test implements Parcelable {
public abstract String name();

public abstract int age();

public static test create(String name, int age) {
    return builder()
            .name(name)
            .age(age)
            .build();
}

public static Builder builder() {
    return new AutoValue_test.Builder();
}

@AutoValue.Builder
public abstract static class Builder {
    public abstract Builder name(String name);

    public abstract Builder age(int age);

    public abstract test build();
  }
}

现在在我的代码中,我想更改 name 属性(t 包含数据):

test t = test.Builder.name("Ali").age(26).build();
/*how to change name value*/ 

如果不重新初始化,您不能使用@AutoValue注释编辑对象的特定参数(值类型对象);这种不可变性正是 AutoValue 旨在为您的对象提供的,因为 AutoValue 的主要目的是在不编写样板代码的情况下创建不可变对象。

如果您想了解有关 AutoValue 的更多信息以及该库旨在实现的目标,以下链接可能会有所帮助:

此外,如果您想用不同的参数值初始化新对象,with-er 库可能会有用。

希望对您有所帮助。