gpt4 book ai didi

java - 使用 Lombok 记录器记录时有没有办法屏蔽类值?

转载 作者:行者123 更新时间:2023-12-02 02:42:35 24 4
gpt4 key购买 nike

我想知道是否有一种通用方法可以在记录时屏蔽特定类字段值?我正在使用 Lombok 记录器。

例如:

@ToString(includeFieldNames = true)
public class Account{
String name = "";
String accountNumber = "";
String code = "";
}

当记录 toString() 时,我希望能够以通用方式屏蔽该值(我知道我可以重写 toString 方法,但这需要专门为每个类完成)

最佳答案

您可以创建一个专用类来保存需要混淆的对象。

@ToString(callSuper = true)
public class Account {
String name = "";
MaskedString accountNumber = "";
String code = "";
}

@Getter
@RequiredArgsConstructor
class MaskedString {
private String value;

@Override
public String toString() {
new StringBuilder(value)
.replace(0, 5, "XXXXX")
.toString();
}
}

这会将 accountNumber = "0123456789" 的值替换为 accountNumber = "XXXXX56789"

关于java - 使用 Lombok 记录器记录时有没有办法屏蔽类值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45194081/

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