标签:常用 String StringBuffer 使用 Day15 API 数组 创建 字符串
一、String
- 是什么
- String是java.lang.String,使用不需要导包
- String是字符串类,是引用类型,底层是char数组,所以String的特性几乎和数组一致
- 字符串一旦创建,该字符串对象不能更改
- 为了提高字符串的访问效率,Java虚拟机使用了一种缓存技术,可以对字符串操作更加简单方便,更加高效(字符串常量池)
- 字符串会被保存在静态区中的常量池,可以复用性增强
当我们用到一个重复的字符串的时候,会去常量池进行检索,如果有该字符串,则直接指向,如果没有就创建
- 基本使用
- 构造方法
- 直接创建
- 普通构造
- 字节数组
- 字符数组
- 直接创建
- 常用方法
- 什么方法,是成员还是静态
- 方法名,参数,返回值类型是什么
- 方法功能
- 注意
- 使用String不推荐进行频繁的字符串拼接操作
- 因为字符串一旦创建不可改变,只要拼接,就会创建新的字符串对象
- 浪费空间,效率还低,就等于是使用定长数组频繁做添加操作一样
二、StringBuffer和StringBuilder
- 是什么
- 都在java.lang下,使用不需要导包
- StringBuilder和StringBuffer是什么
是一个可变的字符串缓冲区,底层也是数组,只不过该数组会进行自动扩容
适合做字符串拼接操作 - 原理:
预先在内存中创建一个空间,用来保存字符(字符数组)
如果预留空间不够了,会进行自动扩容,用来容纳更多的字符
默认的长度为16,扩大长度为(原长度+1)*2:16->34->70 - StringBuilder和StringBuffer的区别
StringBuilder:非线程安全,在多线程环境下使用,可能出现问题
StringBuffer:线程安全,在多线程环境下使用,没有问题
- 使用方式
标签:常用,String,StringBuffer,使用,Day15,API,数组,创建,字符串 来源: https://blog.csdn.net/qq_26942049/article/details/120833149
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。