首页  

slf4j为什么用{}而不是%s     所属分类 java 浏览量 1176
logger.info("Hello {}","world");

String str = String.format("hello %s", "world");
System.out.println(str);

String.format  功能强大 使用正则解析占位符 但是性能差一些


 private static Pattern fsPattern = Pattern.compile(formatSpecifier);
    /**
     * Finds format specifiers in the format string.
     */
    private FormatString[] parse(String s) {
        ArrayList<FormatString> al = new ArrayList<>();
        Matcher m = fsPattern.matcher(s);
        ...


     
        

slf4j 使用 indexOf 解析占位符 然后拼接参数

MessageFormatter

String str = "hello {}";
str = MessageFormatter.arrayFormat(str, new Object[]{"world"}).getMessage();
System.out.println(str);

上一篇     下一篇
java编码规范

jvm热点线程定位

并发编程模型

java获取系统信息

mysql MVCC 和 事务隔离级别

j2ee容器类加载机制实例演示