开发中有时候为了方便调试,会在代码中加入日志,把运行到该行的变量打印出来,方便直观的判断问题。
直接上Demo
private static final Logger LOGGER = LoggerFactory.getLogger(DemoTest.class);
public static void main(String[] args) {
String aa = "test";
LOGGER.info("字符串:" + aa + "完了");
LOGGER.info(String.format("字符串:%s完了", aa));效果同上
//测试printf 和 println 区别
System.out.printf("字符串:%s %n", aa);
System.out.println("字符串:%s", aa);//报错了
}
以前加变量需要各种++ "" 拼接,很麻烦,特别是变量多的时候。现在只需使用String.format + %s 字符串占位符,便可轻松搞定。
效果图:
题外话:关于String.format, 也可以参考mbatis 框架中GenericTokenParser类自己封装一个工具类,太麻烦,我懒,大神可以玩玩。
研究这个问题的时候,发现使用占位符时,使用println报错,后仔细看了printf和println区别,如下:
入参不一样,pringf中输出内容中加上%ln,也达到println效果。(感叹一句,基础不牢呀!)