• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

java String拼接时的问题汇总

java 搞代码 4年前 (2022-01-05) 26次浏览 已收录 0个评论

在本篇文章里小编给大家整理的是关于java String拼接时的问题汇总,有需要的朋友们可以参考下。

刚才发现了一个小问题,比如我们设置一个字符串对象test并初始化为null,然后执行test+=”abc”;,此时test的值不是abc,而是nullabc。这是因为我们实际上是让test=”abc”+null;,此时null会被强制转为String类型,其值就是”null”.例如下面的例子:

 String test=null+"abc"; System.out.println(test);

输出就是nullabc

所以我们在使用+=运算符的时候要先判断是不是null,如果是的话应该直接赋值

话又说回来,熟悉String原理就能知道,如果使用+=来创建字符串,会在字符串常量池中产生很多不需要的子串对象,所以不鼓励使用String的拼接方式一步步创建字符串,应该使用StringBuilder 和append()方法。这些类的对象能够被多次的修改,并且不产生新的未使用对象。

并且这两个类是提供了append()方法的,可以传入char或者String,使用很方便。最后要输出字符串的时候直接toString()即可。

内容扩展:

java拼接字符串、格式化字符串方式

 //+ String arg0 = "Bob"; String arg1 = "Alice"; System.out.println("hello," + arg0 + ". I am " + arg1 + "."); //StringBuilder.append StringBuilder builder = new StringBuilder(); builder.append("hello,"); builder.append(arg0); builder.append(". I am "); builder.append(arg1); builder.append("."); System.out.println(builder.toString()); //String.format String formatStr = String.format("hello,%s. I am %s.", arg0, arg1); System.out.println(formatStr); //MessageFormat.format String formattedText = MessageFormat.format("hello,{0}. I am {1}.", arg0, arg1); System.out.println(formattedText);

2.运行结果

hello,Bob. I am Alice.
hello,Bob. I am Alice.
hello,Bob. I am Alice.
hello,Bob. I am Alice.

到此这篇关于java String拼接时的问题汇总的文章就介绍到这了,更多相关java String拼接时候的一个小问题内容请搜索gaodaima搞代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持gaodaima搞代码网

以上就是java String拼接时的问题汇总的详细内容,更多请来源gaodaimacom搞#^代%!码网关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java String拼接时的问题汇总

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址