String类

String类
String类的常用方法:
charAt(int intdex)返回指定索引处的char值(用于查找字符串);
compareTO(String anotherString)按字典顺序比较两个字符串;
concat(String str)将指定的字符串连接到此字符串的结尾;
contains(charSequence s)当且仅当此字符串包含指定的char值序列是返回true;
endWith(String suffix)测试此字符串是否以指定的后缀结尾;
equalsIgnoreCase(String anotherString)将此String与另一个String比较不考虑大小写;
indexOf(int ch)返回指定字符串在此字符串中第一次出现处的索引,从此字符串开始;
lastIndexOf(int ch)返回指定字符串在此字符串中最后一次出现处的索引;
length()返回字符串的长度;
replace(char oldChar,char newChar)返回一个新的字符串,它通过用newChar替换oldChar;
Split(String regex)根据给定的正则表达式的匹配拆分此字符串;
subString(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串;
toLowerCase()字符转换为小写;
trim()忽略前导(后导)的空格;

StringBuffer类和StringBuilder类:
StringBuffer是线程安全的;
StringBuider是非线程安全的,而性能略高。
String str="zhangsan"一旦赋值不能更改,str再赋值改变的是整个内存空间的值,是销毁了刚开始的赋予值的空间,又开辟了新的内存空间并赋值。故String的性能低。
比较String与StringBuilder性能的例子:
StringBuilder的耗时(在main方法中进行):
StringBuilder sb = new StringBuilder("张三");
long startTime = System.currentTimeMillis();
for (int i = 0; i < 500000; i++) {
str += "abc";
sb.append("abc");
}
long endTime = System.currentTimeMillis();
System.out.println("Stringbuilder的耗时:" + (endTime - startTime) + "ms");
String的耗时(在main方法中进行):
String str = new String("张三");
long startTime = System.currentTimeMillis();
for (int i = 0; i < 500000; i++) {
str += "abc";
}
long endTime = System.currentTimeMillis();
System.out.println("String耗时:" + (endTime - startTime) + "ms");
i小于的值越大,而String的耗时则越长,因为str再赋值改变的是整个内存空间的值,是销毁了刚开始的赋予值的空间,又开辟了新的内存空间并赋值,它在不停地销毁在赋值,直到符合小于的那个值。

你可能感兴趣的:(String类)