- String
- 实现了serializable接口
- 实现了Comparable接口
- 内部定义了final char【】 value
- 体现
- String对象的创建
- String的常用方法
- String的转换
- String转char【】
- Char【】转string
- 编码 字符串 到 字节 (看得懂 到 看不懂)
- 解码 字节 到 字符串 (看不懂的二进制数据 到 看得懂)
- 关于stringbuffer和stringbuilder的使用
- String buffer和stringbuilder,常用方法一样
代表字符串,final类,
Final 不可继承
表示字符串支持序列化
实现了Comparable接口表示string可以比较大小
内部定义了final char【】 value用于存储字符串数据
String代表不可变的字符序列,简称不可变性
1.当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值。
2.给现有的字符串拼接时,也需要重新指定内存区域赋值,不能在原有区域。
3.当调用string的replace方法修改指定字符串时,也需要重新指定内存区域赋值。
通过字面量的方式给一个字符串赋值,就是不是new的方式。此时声明在常量池中,字符串常量池不会存两个相同的字符串。
方式一 通过字面量定义的方式 在常量池,不可以一样
方式二 通过new 构造器的方式 在堆可以是一样的
方式三 通过了变量的字面定义方式,在堆中。
方法四 通过intern方法,返回值在常量池声明
Int length 返回字符串长度
Char charAt(int index)返回索引处的字符
Boolean isEmpty 判断是否是空字符串
String toLowerCase 使用默认语言环境,将String中的所有字符转换为小写
String toUpperCase 使用默认语言环境,将String中的所有字符转换为大写
String trim 返回字符串的副本,忽略前导空白和尾部空白
Boolean equals(Object obj) 比较字符串的内容是否相同
Boolean equalsslgnoreCase(String anorherString) 与equals方法类似,忽略大小写
String concat(String str)将指定字符串连接到此字符串的结尾,等价于用+
Int compareTo(String anotherString) 比较两个字符串的大小
String substring(int beginlndex)返回一个新的字符串,它是此字符串的从beginindex开始截取到最后一个子字符串
String substring(int beginindex,int endindex) 返回一个新字符串,它是此字符串从beginindex开始截取到endindex(不包含)的一个子字符串
Boolean endswith(String suffix)测试此字符串是否以指定的后缀结束
Boolean startswith(string prefix)测试此字符串是否以指定的前缀开始
Boolean startswith(string prefix,int toffset)测试此字符串从指定索引开始的子字符串是否以指定前缀开始
Boolean contains(charsequence s)当且仅当此字符串包含指定char值序列时,返回true
Int indexof(string str)返回指定子字符串在此字符串第一次出现处的索引
Int indexof(string str,int fromindex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
Int lastindexof(string str)返回指定子字符串在此字符在中最右边出现处的索引
Int lastindexof(string str,int fromindex)返回指定子字符串在此字符串中最后一次出现的索引,从指定的索引开始反向搜索,indexof和lastindexof方法如果没有找到都是返回-1
String replace(char oldchar,char newchar) 返回一个新的字符串,他是通过用newchar替换字符串中出现的所有oldchar得到的
String replace(charsequence target,charsequence replacement)使用指定的字面值替换序列替换此字符串所有匹配字面值且目标序列的子字符串。
String replaceall(string regex,string replacement) 使用给定的replacement替换此字符串所有匹配给定的正则表达式子字符串
String replacefirst(string regex,string replacement)使用给定的replacement替换此字符串匹配给的那个的正则表达式的第一个子字符串
Boolean matches(string regex)告知此字符串是否匹配给的那个的正则表达式
String【】 split(string regex)根据给定正则表达式的匹配拆分此字符串
String【】split(string regex,int limit)根据匹配给定的正则表达式来拆分此字符串,最多不超过limit个,如果超过了,剩下的全部放到最后一个元素中
调用string的tochararray
Char【】转string用构造器就可以了
编码 字符串 到 字节 (看得懂 到 看不懂) 解码 字节 到 字符串 (看不懂的二进制数据 到 看得懂)String转byte【】
调用string的getbytes
Byte【】转 string
调用string 的构造器
String 不可变的字符序列 底层用char【】存储
Stringbuffer 可变的字符序列 线程安全 效率偏低 底层char【】存储
Stringbuilder 可变的字符序列 线程不安全 效率高 jdk5.0新增 底层使用char【】存储
Stringbuffer
扩容问题 如果需要添加的数组底层数组盛不下,那就需要扩容底层的数组
默认情况下,扩容为原理为原来容量的两倍+2,同时将原有数组中的元素复制到新数组中
指导意义 开发中建议大家用stringbuffer(int capacity)
Stringbuffer Append(xxx) 提供了很多的append()方法,用于进行字符串拼接
Stringbuffer Delete(int start ,int end)删除指定位置的内容
Stringbuffer replace(int start,int end,string str)把start end位置替换为str
Stringbuffer insert(int offset,xxx) 在指定位置插入xxx
Stringbuffer reverse() 把当前字符串逆转
Public int indexOf(string str)
Public string substring(int start,int end)
Public int length()
Public char charAt(int n)
Public void setCharAt(int n,char ch)
String转换成 stringbuffer,stringbuilder
通过构造器



