Format可能存在的坑
2016-01-30 18:27
197 查看
import java.text.MessageFormat; public class TestFormat { public static void main(String[] args) { // TODO Auto-generated method stub String str = MessageFormat.format("/status={0}&app={1}&version={2}", new Object[] { 123, 1234, 12345 }); System.out.println(str);
String str = MessageFormat.format("/status={0}&app={1}&version={2}", new Object[] { "123", "1234", "12345" });
System.out.println(str2); } }
你觉得这两个产生的结果是不是一样?其实不一样!!
/status=123&app=1,234&version=12,345
/status=123&app=1234&version=12345
原因:查看源码,MessageFormat.format在底层会判断传入参数的类型,如果是数字类型,会format成*,***,***格式,如果是字符串就直接替换。
相关文章推荐
- 反馈通道改善系统性能_20160130
- 从Spark架构中透视job
- ubuntu 的 document viewer evince 发生 Could not open X display 错误的处理
- 【转】一个测试工程师的2015总结和2016年小展望
- LNMP安装与启动脚本编写
- 数字证书原理
- 【转】移动App测试中的最佳做法
- 一个知乎重度用户眼中的知乎
- ZOJ 1014 OPERAND
- 一个知乎重度用户眼中的知乎
- IOS BezierPath 贝塞尔曲线画图详解
- php设计模式:值对象模式
- Lua学习笔记-第四章
- iOS动画和特效(四)controller间的自定义过渡效果
- sql中的CHARINDEX和暂时表
- mybatis 中#与$的区别
- linux 信号 中断的系统调用
- C#中的foreach语句与枚举器接口(IEnumerator)及其泛型 相关问题
- java.lang.OutOfMemoryError: Java heap space 解决方法
- 杭电1050