gpt4 book ai didi

java - 对更改不可变子属性的现有 Javabean 支持

转载 作者:搜寻专家 更新时间:2023-11-01 00:53:06 25 4
gpt4 key购买 nike

有人知道对修改存储在 JavaBean 兼容对象下的不可变对象(immutable对象)的单个属性的现有支持吗?

举个简单的例子:

对于给定的不可变值类和 bean 对象(不担心监听器):

public class ValueObject {
private final int value;

public ValueObject(int value) {
this.value = value;
}

public ValueObject withValue(int newValue) {
return new ValueObject(value);
}
}

public class Bean {

private ValueObject value;

public ValueObject getValue() {
return value;
}

public ValueObject setValue(ValueObject value) {
this.value = value;
}
}

已经可以将属性视为 bean.value.value

我正在寻找是否有一种现有的方式来表示 bean.value.value = 3 并且基本上有一个等效于 bean.setValue(bean.getValue(). withValue(3));.

请注意,实际值对象要复杂得多。

谢谢!

最佳答案

我会尝试为使用 setWriteMethod 指定属性修改器方法的 bean 类创建 BeanInfo 类。此 write 方法可以采用原始 int 值并从中创建不可变值对象并将其分配给属性字段。

关于java - 对更改不可变子属性的现有 Javabean 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4890152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com