星空网 > 软件开发 > Java

java字符串拼接技巧(StringBuilder使用技巧)

在平时的开发中,我们可能会遇到需要拼接如下格式的字符串(至少我是遇到了很多次):

1,2,3,4,5,6,7,8,9,10,11,12,12,12,12,34,234,2134,1234,1324,1234,123

这个字符串的特点:多个数据之间通过某一个特殊符号分割。

以前我都是这样想的,我相信很多的people也是这样想的:

public class StringTest{  public static void main(String[] args)  {    StringBuilder sb = new StringBuilder();    for (int i = 0; i <= 10; i++)    {      //以下这个判断对于有强迫症的人来说确实有点不爽,每次循环进来都要进行判断以下,如果循环的次数很多呢,我们都会想到会不会对性能有影响呢?      if (i != 0)      {        sb.append(",");      }      sb.append(i);    }    System.out.println(sb.toString());  }}

看到这里,你平时的做法是不是也是这样的,每一次循环中都存在这样一个判断,如果是回答是肯定的,那么你就有必要继续往下看了,因为以上的方式确实不怎么明智。(至少对于我这个强迫症&&追求完美的人来说,这样的代码让我很不爽)。

 

在这里不会有人要反驳的代码,要我用"+"来拼接字符串吧,如果你真是这样想的,Oh My God!!!

 

我在这里提供两种我知道的方式去解决这种现象问题:

方法一:首先取出集合的第一个元素,通过StringBuilder的构造方法,传入第一个元素,这样是不是后面的每一次循环就不需要判断了啊?

public class StringTest{  public static void main(String[] args)  {    StringBuilder sb = new StringBuilder("0");    for (int i = 1; i <= 10; i++)    {      sb.append(",");      sb.append(i);    }    System.out.println(sb.toString());  }}

很多小伙伴想到了上面的方式是通过技巧(java api的掌握熟练程度)将第一个特殊的元素取出来,特殊处理,后面的是不是每一个元素都有规律了,都是以一个字符加上一个数据。想到这里,你有没有想到点其他的?

 

作为一个程序员我们就应该练就一身举一反三的本领,上面的方式既然能够将第一个元素作为特殊的数据单独提取出来,那么有没有办法将最后的一个数据也作为特殊数据单独提取出来,前面的其他数据不是就有规律可循了吗?

 

所以下面就引出了我的第二种解决办法(《Java编程思想第四版》P286)

方式二:很多人都熟悉StringBuilder的append();方法,但是很多人却不知道StringBuilder的delete(int startPost,int endPost);如果你有举一反三的学习习惯,那么很容易就会掌握到这个api接口。其实在java的api中很多都是相对的,通过这种方式去学习,很快你就会发现自己知道的就很多。 

public class StringTest{  public static void main(String[] args)  {    StringBuilder sb = new StringBuilder();    for (int i = 0; i <= 10; i++)    {      sb.append(i);      sb.append(",");    }    sb.delete(sb.length() - 1, sb.length());//这里就看你知不知道这个api接口了    System.out.println(sb.toString());  }}

  

以上只是我针对这一个小的知识点的技巧告诉大家,在学习中应该多学会举一反三,掌握学习方法是你学好编程的一条捷径。欢迎大家有更好的学习方法,学习技巧,知识点技巧与我共同讨论与分享。

 

转载请注明出处:http://www.cnblogs.com/liushaofeng89/p/4865263.html




原标题:java字符串拼接技巧(StringBuilder使用技巧)

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

万圣节-选好品排好雷争做旺季爆单王:https://www.kjdsnews.com/a/544668.html
亚马逊欧洲站掘进快车道等你来开启!:https://www.kjdsnews.com/a/544669.html
10人以内的电商团队如何管理:https://www.kjdsnews.com/a/544670.html
亚马逊A+页面不能少,做好A+页面让你的转化率提高3-5个点:https://www.kjdsnews.com/a/544671.html
Shopify&Tiktok扩大合作渠道,开放美区“小黄车“:https://www.kjdsnews.com/a/544672.html
运费暴涨!德国铁路罢工,美国港口失控!物流要完了?:https://www.kjdsnews.com/a/544673.html
旅游景点的打油诗 旅游景点的打油诗怎么写:https://www.vstour.cn/a/366180.html
2024深圳龙岗区文化馆免费音乐培训课程安排+报名方式:https://www.vstour.cn/a/366181.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流