String.format拼接字符串
需求:要用 get 请求调用第三方接口,url 后需要拼接多个参数。
以前我们的请求地址是这样拼接的:
1 | String url = "http://susan.sc.cn?userName="+userName+"&age="+age+"&address="+address+"&sex="+sex+"&roledId="+roleId; |
字符串使用 +
号拼接,非常容易出错。
后面优化了一下,改为使用 StringBuilder
拼接字符串:
1 | StringBuilder urlBuilder = new StringBuilder("http://susan.sc.cn?"); |
代码优化之后,稍微直观点。
但还是看起来比较别扭。
这时可以使用 String.format
方法优化:
1 | String requestUrl = "http://susan.sc.cn?userName=%s&age=%s&address=%s&sex=%s&roledId=%s"; |
代码的可读性,一下子提升了很多。
我们平常可以使用 String.format
方法拼接 url 请求参数,日志打印等字符串。
但不建议在 for 循环中用它拼接字符串,因为它的执行效率,比使用 + 号拼接字符串,或者使用 StringBuilder 拼接字符串都要慢一些。