当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

Java 中 StringBuffer 和 String 是有一定的区别的,首先,String 是被 final 修饰的,他的长度是不可变的,就算调用 String 的

concat 方法,那也是把字符串拼接起来并重新创建一个对象,把拼接后的 String 的值赋给新创建的对象,而 StringBuffer 的长度是可变的,调用StringBuffer 的 append 方法,来改变 StringBuffer 的长度,并且,相比较于 StringBuffer,String 一旦发生长度变化,是非常耗费内存的!

StringBuffer 和 StringBuilder 长度可变

StringBuffer 线程安全 StringBuilder 线程不安全

StringBuilder 速度快

1 publicStringBuffer append(String s)

将指定的字符串追加到此字符序列。2 publicStringBuffer reverse()

将此字符序列用其反转形式取代。3 public delete(int start, intend)

移除此序列的子字符串中的字符。4 public insert(int offset, inti)

将int参数的字符串表示形式插入此序列中。5 replace(int start, intend, String str)

使用给定 String 中的字符替换此序列的子字符串中的字符。

===既上次初遇之后  马上就要使用它的地方了:

我要实现收到一个物流信息对象  我要把它先划分很多时间点对象,再将该对象画分成物流详情与时间两部分,然后换行放进textview。

方法如下:

StringBuilder shipInfo=newStringBuilder();for (int i = 0;i

shipInfo.append(OrderInfo.data.get(i).des);

shipInfo.append("\n");

shipInfo.append(OrderInfo.data.get(i).time);if (i!=(l-1)){

shipInfo.append("\n");

}

}if ((shipInfo.toString()!=null)) {

String shipInfoUp=shipInfo.toString();

mTvOrderShipInfo.setText(shipInfoUp);

(这里有一个要注意的地方,stringbuilder的append方法里 不能把  string+“\n” 这种有转义操作符连接起来 请分两次添加)

java stringbuilder换行_初遇Java StringBuffer 和 StringBuilder 类利用 StringBuilder 给TextView实现换行处理...相关推荐

  1. java 字符串包_包java字符串

    Java核心技术卷I基础知识3.6.3 不可变字符串 3.6.3 不可变字符串 String类没有提供用于修改字符串的方法.如果希望将greeting的内容修改为"Help!",不 ...

  2. java核心教程_核心Java教程

    java核心教程 Welcome to Core Java Tutorial. I have written a lot on Core Java and Java EE frameworks. Th ...

  3. java 分割一个_分割java

    [java]分割字符串工具类,霸气 jdk自带的 java 分割字符串,分割string,可以根据多个条件去分割.比如逗号,分号,逗号或者分号. 比如一个字符串:"abc,def;gh,ij ...

  4. java基础知识点_「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !

    " 本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指 ...

  5. bigint对应java什么类型_「JAVA」从格式化输出到扫描输入,深究Java正则表达式匹配之道

    字符串是不可变的 字符串是不可变的,也就是说当字符串的内容发生改变的时候,会创建一个新的String对象:但是如果内容没有发生改变的时候,String类的方法会返回原字符串对象的引用. 而正则表达式往 ...

  6. java 数据结构实例_数据结构(Java)——栈的实例

    惟大英雄能本色,是真名士自风流 --易中天(百家讲坛) 1.表达式的转换 1.1 中缀表达式转前缀表达式 中缀表达式转前缀表达式有许多的方式,有加括号去除法.语法树遍历法.堆栈处理法1. 测试程序的实 ...

  7. java初学课程_作为java新手应该学习什么课程

    照目前IT行业发展趋势,学java的人越来越多,因为java的应用范围广,薪资待遇在IT行业里也是名列前茅,那么,作为java新手应该学习什么课程呢?动力节点java学院的小编来告诉大家新手应该学哪些 ...

  8. 纯java分布式内存数据库_最新Java岗面试清单:分布式+Dubbo+线程+Redis+数据库+JVM+并发...

    最近可能有点闲的慌,没事就去找面试面经,整理了一波面试题.我大概是分成了Java基础.中级.高级,分布式,Spring架构,多线程,网络,MySQL,Redis缓存,JVM相关,调优,设计模式,算法与 ...

  9. java策略文件_[讨论]java类文件保护策略

    2011-4-8 12:48 是這樣碼 package com.atlassian.extras.decoder.v2; import com.atlassian.extras.common.Lice ...

最新文章

  1. SAP MM ME55 不能批量审批部分多个PR?
  2. RF内置库函数学习(一)
  3. step1 . day3 C语言基础
  4. P3573-[POI2014]RAJ-Rally【拓扑排序,二分+树状数组】
  5. 最佳字符串对齐的Java实现
  6. [Silverlight]16进制颜色转ARGB及Color转Int32
  7. svn中文语言包安装(最详细步骤)+Language Pack+TortoiseSVN 安装
  8. 在线WGCNA分析 (直接出交互式结果报告)
  9. 机器学习- 吴恩达Andrew Ng 编程作业技巧 for Week3
  10. gx works2产品id_gx works2中文版下载|
  11. 应该根据哪些判断云服务器的好坏
  12. Mac安装安卓虚拟机 - Android Studio运行apk安装包
  13. Kotlin学习(二十): Kotlin实现流的读取的方案
  14. 微信读书总是跳出连接服务器有问题,微信读书经常无响应怎么回事
  15. 关于make提示must been abled with the -std=c++11 or -std=gnu++11 compiler options
  16. huffman算法实现文件的压缩与解压
  17. sequoia 安装配置
  18. JS生成EXCEL(Chrome浏览器)
  19. 什么是MECE 分析法?
  20. LWN:在Linux上用Waydroid运行安卓应用!

热门文章

  1. C#中Delegate和Event以及它们的区别(转载)
  2. 思科认证与华为认证在考题与内容上到底多大差别?
  3. 用Windows Live Writer离线更新博思日志
  4. [转]中国CIO的空前机会和空前责任
  5. 网络工程师学习资料:路由器配置案例分析
  6. linux基础-延时命令:sleep
  7. 《大数据分析原理与实践》——导读
  8. 解决 WIn7 启动时“你有等待写入光盘的文件”
  9. 理解 Linux 的硬链接与软链接
  10. 如何在SQL Server 2005中使用作业实现备份和特定删除