2:StringBuilder-Java API 实战
【摘要】 1. String存在的问题认识String字符串广泛应用在编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了假设有两个String str1和str2,在创建这两个String类的时候...
1. String存在的问题
认识String
- 字符串广泛应用在编程中,在 Java 中字符串属于对象,Java 提供了
String
类来创建和操作字符串 String
创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上String
类是不可改变的,所以你一旦创建了String
对象,那它的值就无法改变了
假设有两个String str1
和str2
,在创建这两个String
类的时候计算机会给他们各自一块内存,当执行str1 = str1 + str2
时,按逻辑是str1的内存内容被修改,内存只占了两块,但实际情况是创建了第三块内存str1(str1+str2)
2. Stringbuilder以及链式调用的含义
StringBuilder和StringBuffer类
- 可以解决对字符串进行修改
StringBuffer
线程安全,性能低,在多线程环境下使用StringBuilder
非线程安全,性能高,在单线程环境下使用
和String的区别
- 创建单个
String
类是创建单个对象,创建多个就是创建多个对象,StringBuilder
是对对象进行操作,一直操作的都是一个对象
trimToSize()
方法用于最小化用于字符的存储,去除未使用的空间,也可以用于将动态数组中的容量调整为数组中的元素个数
stringBuilder.trimToSize();
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)