java。long包中提供了三个字符串类型:String类,(不可变字符串)StringBuffer类,StringBuilder类(可变字符串).这三种字符串被申明为final,不能被继承。
StringBuffer是线程安全的,StringBuilder是线程不安全;
java 的字符串是一个对象(引用数据类型)
一.String类
1.创建字符串
1.1:
String s;
s=new String();//创建一个空字符串对象
1.2
String s="haha";
String t=new String(s);//复制字符串
1.3
String(char value[])方法
char c[]={'a','b','c'};//用一个字符数组创建一个字符串对象
String str=new String(c);//相当于str=abc
1.4
String(StringBuffer buffer)//可变字符串
2.获取字符串的长度
length():返回字符串的长度
3.字符串的比较
3.1
equals()和equalsIgnoreCase()
equals()比较两个对象实例是否相同
返回boolean类型的结果
equalsIgnoreCase()比较时忽略大小写
3.2
compareTo()和compareToignoreCase()不常用
将两个字符串按其对应的Unicode码值进行比较后者不区分大小写。
4:字符串连接
4.1:+
4.2concate() 例如:s1.concat(s2)
5.常用方法:
- charAt(int i):返回指定索引处的字符;
- length():返回字符串的长度;
- contains(CharSequence c):判断字符串中是否包含指定的字符序列;
- startsWith(String s):判断字符串是否以指定的前缀开始;
- endsWith(String s):判断字符串是否以指定的后缀结束;
- indexOf(char c):返回指定字符在字符串中第一次出现的索引;
- lastIndexOf(char c):返回指定字符在字符串中最后一次出现的索引;
- isEmpty():当且仅当字符串长度为0时,返回true;
- replace(char old,char new):把字符串中的old字符替换为new字符,然后返回一个新字符串;
- split(String s):根据指定的规则拆分字符串,返回字符串数组;
- subString(int begin,int end):按照指定的索引截取字符串,从begin(包含)开始,到end(不包含)结束;
- toLowerCase():把字符串的英文字母全部转为小写;
- toUpperCase():把字符串的英文字母全部转为大写;
- trim():清除字符串前后的空白字符;
- valueOf():把指定类型的数据转为字符串类型;
- toCharArray():把字符串转为字符数组;
二:StringBufer类(可变字符串序列)
StringBuffer和StringBuilder都是可变的字符序列,唯一的区别:StringBuffer是线程安全的,StringBuilder是线程不安全;
常用方法:
- append():追加;
- toString():把所有追加的内容以String类型返回;