String字符串连接符

原创
2014/02/10 21:51
阅读数 388

    接触Java到现在总的来说时间也不算短,发现身边的一些朋友对String字符串连接符或多或少存在误解(可能我理解的也不对,欢迎指正),随便写写自己的一些观点

    Java对比C++少了运算符重载,字符串连接符"+"底层实现是通过StringBuffer和StringBuilder来实现的。在Java中拼接字符串要么用字符串连接符"+",要么用StringBuffer或StringBuilder,许多人纠结这两种方式的效率问题。

    先说说下面的这种情况:

    String str = "Hello "+"world "+"!";

    这种静态字符串链接,编译的时候编译器会自动将之看作:String str = "Hello world !",比之如下代码效率要高很多。

    StringBuffer strBuffer = new StringBuffer();

    strBuffer.append("Hello ");

    strBuffer.append("world ");

    strBuffer.append("!");

    对于动态字符串StringBuffer的效率比字符串连接符效率要高。

    strBuffer.append(String.valueOf(new Date()));比str=str+String.valueOf(new Date());执行效率和内存消耗都小很多。

    链接静态字符串,建议用字符串连接符,链接动态字符串建议使用StringBuffer或StringBuilder。

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
2 收藏
0
分享
返回顶部
顶部