Java中字符串中的参数

Java中字符串中的参数,java,string,Java,String,我正在尝试记录这样的错误 logger.error("Entered value [" + val + "] is wrong") logger.error(String.format("Entered value[%s] is wrong", val)); 但我不希望字符串串联,因为如果从右向左读取字符串,它们的顺序是错误的。还有别的办法吗 我需要在错误消息中输入val。您可以使用String.format函数 字符串输出=String.format输入值[%s]错误,val; logge

我正在尝试记录这样的错误

logger.error("Entered value [" + val + "] is wrong")
logger.error(String.format("Entered value[%s] is wrong", val));
但我不希望字符串串联,因为如果从右向左读取字符串,它们的顺序是错误的。还有别的办法吗

我需要在错误消息中输入val。

您可以使用String.format函数

字符串输出=String.format输入值[%s]错误,val; logger.error输出

在下面的帖子中看更多你可以使用的例子,如下所示

logger.error("Entered value [" + val + "] is wrong")
logger.error(String.format("Entered value[%s] is wrong", val));
这是假设val是一个字符串。如果不是,则应将%s更改为其他值,例如,如果val是整数,则应使用%d


有关%s等格式字符串的详细信息,请查看。

有什么问题?问题是什么?您的问题是什么?我需要将var放入字符串中,并从外部提供值。使用logger.errorString.formatEntered值[%d]是错误的,val;那是哪个记录器?你从日志中得到了什么价值?你不按正确的顺序来是什么意思?你提到了RTL。val中是否有希伯来语、阿拉伯语或其他RTL文本?这是否取决于记录器的实现?如果他正在使用某个库进行日志记录,或者它是一个自定义日志记录程序,则未提供任何信息%s能够管理任何对象,甚至是原语。在这种情况下,将使用Object.toString。如果参数为null,则结果为null。如果参数实现Formattable,则调用其formatTo方法。否则,结果是通过调用参数的toString方法获得的。@AxelH如果您的评论是关于我在%d上的补遗,您是对的,但我喜欢我的格式字符串,就像我喜欢我的水一样:清晰且没有隐式转换。我也是!但是它可以很好地与基于Formattable实现的POJO一起使用,甚至可以在通用上下文中使用。但是当我也知道类型时,我更喜欢使用正确的标志。