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代表不同的日期与时间转换符 | 
正文到此结束
                    
                    
                 
                                         
 
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                             
                             
                             
                            