一、构造器
String有大量的构造器。以下几个是比较常用的
public static void main(String[] args){
//常见构造器
String s1 = new String();//空
String s2 = new String("a");//a
//字节构造器
byte[] arr = {97,98,99,100,101};
String s3 = new String(arr,2,3);//cde
String s4 =new String(arr);//abcde
//字符数组
char[] ch = {'a','b','c','d'};
String s5 = new String(ch);//abcd
String s6 = new String(ch,1,3);//bcd
//StringBuffer是线程安全的,StringBuilder不是线程安全的
//如果想创建内容可变的字符串,可使用StringBuilder
StringBuffer buffer = new StringBuffer();
buffer.append("ok"+" ");
buffer.append("work well"+" ");
String s6 = new String(buffer);//ok work well
StringBuilder builder = new StringBuilder();
builder.append("ok"+" ");
builder.append("work well"+" ");
String s7 = new String(builder);//ok work well
}
1、获取指定位置字符
String s = new String("I have a dream");
char c = s.charAt(0);//I
2、比较两字符串大小
如果两字符串序列相等,就返回0;
不相等时,从两个字符串第0个字符开始比较,返回第1个不相等的字符差(w与I的字符差)
不相等时,较长的前面部分恰巧是较短的字符串,返回长度差
String s1 = new String("I have a dream");
String s2 = new String("I have");int differ1 = s1.compareTo(s2);//8
String s3 = new String("wa");int differ2 = s1.compareTo(s3);//-46
String s4 = s1;int differ3 = s1.compareTo(s4);//0
3、比较少见,但感觉很有用的
比较两字符串的某区域是否相等
String Str1 = new String("www.runoob.com");
String Str2 = new String("runoob");
String Str3 = new String("RUNOOB");
Str1.regionMatches(4, Str2, 0, 5);//true
Str1.regionMatches(4, Str3, 0, 5);//false
Str1.regionMatches(true, 4, Str3, 0, 5);//忽略大小写true
4、其它更加详细的方法见
博客
String API
5、StringUtils类
org.apache.commons.lang3.StringUtils 是null safe的
就是对String进行操作不会出现NullPointerException异常
补充:
StringUtils.isNullOrEmpty(sentiment),判断是否为null或""。