一、String
字符串是常量,创建之后不可被改变
字符串字面值存储在字符串池中,可以共享
String s = "Hello";产生一个对象,字符串池中存储
String s = new String("Hello");产生两个对象,堆、池各存储一个。
二、常用方法
public int length();返回字符串长度。
public char charAt(int index);根据字符串下标获取字符。
public boolean contains(String str);判断当前字符串中是否包含str。
public char[] toCharArray();将字符串转换成字符类型的数组。
public int indexOf(String str);查找str首次出现的下标,存在,则返回该下标;不存在,则返回-1。
public int lastindexOf(String str);查找字符串在当前字符串中最后一次出现的下标索引。
public String trim();去掉字符串前后的空格。
public String toUpperCase();将小写转成大写。toLowerCase();将大写转成小写。
public boolean endsWith(String str);判断字符串是否以str结尾。
public String replace(char oldChar, char newChar);将旧字符串替换成新字符串。
public Sting[] split(String str);根据str做拆分。
三、StringBuffer和StringBuilder
public class demo03 {
public static void main(String[] args) {
// StringBuffer和StringBuilder一样
StringBuffer sb = new StringBuffer();
//append
sb.append("java is nb");
System.out.println(sb);
//insert
sb.insert(0, "hahahaha ");
System.out.println(sb); //hahahaha java is nb
//replace
sb.replace(0,3,"fffff");
System.out.println(sb); //fffffahaha java is nb
//delete
sb.delete(0,5);
System.out.println(sb); //ahaha java is nb
sb.delete(0,sb.length());
System.out.println(sb.length()); //0
}
}
测试StringBuffer的效率比String高
public class demo04 {
public static void main(String[] args) {
long l = System.currentTimeMillis();
// String s = "";
// for (int i = 0; i < 99999; i++) {
// s+=i;
// }
// System.out.println(s);
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 99999; i++) {
sb.append(i);
}
System.out.println(sb.toString());
long l1 = System.currentTimeMillis();
System.out.println(l1-l);
}
}
标签:String,04,System,str,字符串,sb,public
From: https://www.cnblogs.com/wml201917205/p/18325973