【问题标题】:Sonarqube "string contains no format specifiers" .. How to pass multiple parameters in one single String?Sonarqube“字符串不包含格式说明符”..如何在一个字符串中传递多个参数?
【发布时间】:2021-06-09 02:38:17
【问题描述】:

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_one, parameter_two, parameter_three));

getting "invoke methods only conditionally" + "看起来 java.text.MessageFormat 的使用有点混乱,参数会这里直接忽略

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

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

【问题讨论】:

  • 尝试删除括号中的数字:{0}->{}

标签: java sonarqube sonarlint


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    试试这个 - logger.info("示例文本:parameter_one: %s {} parameter_two: %s {} and parameter_three: %s {}", parameter_one, parameter_two, parameter_three);

    【讨论】:

      猜你喜欢
      • 2018-07-18
      • 2017-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多