一.String的底层实现
首先字符串String可以看成char【】字符数组,其底层实现是byte【】字节数组。
因此我们可以知道创建字符串的三种常用的方式为
- public String(){}
- public String(char value[]) {
this(value, 0, value.length, null); } - public String(byte[] bytes) {
this(bytes, 0, bytes.length); }
当然最常见的创建字符串的形式还是String str = “hello”; 这里说明一下 字符串""创建出来的都会在堆中的字符串常量池中。
二.String的常用方法源码及简单演示
1.比较的方法 equals()和equalsIgnoreCase() 前者比较值是否相等,后者忽略大小写比较值是否相等
他们比较的是值是否相等而==号比较的是地址是否相等
加粗样式
2.字符串String关于获取的相关方法
获取字符串长度,返回一个int类型数据!
获取指定索引位置的的单个字符,传入int类型索引值返回单个字符!
查找参数字符串在本字符串中第一次出现的索引位置,如果没有返回-1!
将两个或多个字符串拼接为多个字符串!
3.String字符串的截取方法
截取从参数位置一直到末尾,返回一个新的字符串
截取从begin开始一直到end结束的字符串,注意区间范围【 begin,end)前闭后开
4.与转换相关的方法
将当前字符串拆分成字符数组作为返回值!
获得当前字符串的底层字节数组!
将所有出现的老字符串替换成新的字符串!
5.字符串分割的相关方法
按照规则将字符串分割成若干部分!
三.String和StringBuffer区别
1.共同点是都可以操作字符串,即包含多个字符的字符数据。
2.不同点:String类提供的数值是不可以改变的,而StringBuffer提供的字符数据是可以进行修改的。所以当你字符数据要改变的时候就可以使用StringBuffer