gpt4 book ai didi

java - 有没有类似sl4fj的通用字符串替换功能?

转载 作者:IT老高 更新时间:2023-10-28 13:50:49 25 4
gpt4 key购买 nike

如果我想构造一个字符串消息,使用 sl4fj 有一个很好的方法可以使用替换。例如,它可能是这样的:

logger.info("Action {} occured on object {}.", objectA.getAction(), objectB);

如果需要多次替换,则类似于:

logger.info("Action {} occured on object {} with outcome {}.", 
new Object[]{objectA.getAction(), objectB, outcome});

我的问题是:我是否有一种通用的方法来创建一个字符串(而不仅仅是一个 slf4j 日志消息)?比如:

String str = someMethod("Action {} occured on object {}.", objectA.getAction(), objectB);

String str = someMethod("Action {} occured on object {} with outcome {}.", 
new Object[]{objectA.getAction(), objectB, outcome});

如果它在标准 Java 库中,“someMethod”会是什么?

最佳答案

String.format

String str = String.format("Action %s occured on object %s.",
objectA.getAction(), objectB);

或者

String str = String.format("Action %s occured on object %s with outcome %s.",
new Object[]{objectA.getAction(), objectB, outcome});

您也可以使用数字位置,例如切换参数:

String str = String.format("Action %2$s occured on object %1$s.",
objectA.getAction(), objectB);

关于java - 有没有类似sl4fj的通用字符串替换功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5057960/

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