Sonarqube“字符串不包含格式说明符”..如何在一个字符串中传递多个参数?

问题描述

logger.info("Sample Text: parameter_one={0} parameter_two={1} and parameter_three: {2}",parameter_one,parameter_two,parameter_three);

得到“字符串不包含格式说明符”。

尝试相同

logger.info(String.format("Sample Text: parameter_one={0} parameter_two={1} and parameter_three: {2}",parameter_three));

getting "仅有条件地调用方法" + "看起来与 java.text.messageformat 的使用存在混淆,参数将在这里直接忽略"

logger.info(messageformat.format("Sample Text: parameter_one={0} parameter_two={1} and parameter_three: {2}",parameter_three));

获得“仅有条件地调用方法

解决方法

只需对每个占位符使用“{}”。它们不接受参数编号。

,

试试这个 - logger.info("Sample Text: parameter_one: %s {} parameter_two: %s {} and parameter_three: %s {}",parameter_one,parameter_two,parameter_three);