@Value
@Builder
public class XXX {
String field1;
String field2;
String field3;
}
我有一个使用lombok @Value
的类,其中每个字段都将变为私有且为final。现在,我想为field3
提供一个二传手,因为field3
是最终的,所以它不起作用。我应该在这里做什么?
答案 0 :(得分:2)
然后不要使用@Value
。 @Value
用于值类,即其实例是不可变的类。如果您希望字段可变,那么您显然没有值类。
相反,请手动设置所有其他字段final
。然后在类上使用@Getter
和@RequiredArgsConstructor
(如果需要,还可以使用@EqualsAndHashCode
),在所有非最终字段上使用@Setter
。 (或使用@Data
,但请仔细阅读其文档。)
答案 1 :(得分:-1)
在此处创建对象时设置属性
XXX s = XXX.builder()。field1(“ XX”)。field2(“ XX”)。field3(“ XX”)。build(); 这里不需要二传手