原创

java String format

1、两种格式化api

MessageFormat String.format
查找原理 字符串遍历 正则表达式
准确性
性能

2、遇到的问题

 @Test
    public void formatTest() {
        String str = "select * from user where id='{0}";
        String result = MessageFormat.format(str, "xxxx");
        System.out.println(result);
    }

    @Test
    public void stringFormatTest(){
        String str = "select * from user where id='%s'";
        String result = String.format(str, "xxxx");
        System.out.println(result);
    }

 第一个输出:select * from user where id={0}
 第二个输出 select * from user where id='xxxx'

明显第二个才是我们想要的答案

3、解决办法

public void formatTest() {
        String str = "select * from user where id=''{0}''";
        String result = MessageFormat.format(str, "xxxx");
        System.out.println(result);
    }

针对单引号修改为双单引号

4、String.format占位符

转 换 符 说 明 示 例
%s 字符串类型 "mingrisoft"
%c 字符类型 'm'
%b 布尔类型 true
%d 整数类型(十进制) 99
%x 整数类型(十六进制) FF
%o 整数类型(八进制) 77
%f 浮点类型 99.99
%a 十六进制浮点类型 FF.35AE
%e 指数类型 9.38e+5
%g 通用浮点类型(f和e类型中较短的)
%h 散列码
%% 百分比类型
%n 换行符
%tx 日期与时间类型(x代表不同的日期与时间转换符
正文到此结束
本文目录