String类
-
字符串是常量,创建之后不可改变。
-
字符串字面值存储在字符串池(常量池)中,可以共享。
-
String s = "Hello";产生一个对象,字符串池中存储。
-
String s = new String (“Hello”);//产生两个对象,堆、字符串池各存储一个。
-
public static void main(String[]args ) {
string name="hello"; // "hello"常量存储在字符串池中,
name="zhangsan";/"张三”赋值给name变量,给字符串赋值时,并没有修改数据,而是重新开辟一块新的空间。
string name2="zhangsan";
string str=new String("java");
string str2=new String( "java" );
system.out.println(str==str2);//比较地址
system.out.println( str.equals(str2));//比较值
}
常用方法
-
public int length():返回字符串的长度。
-
System.out.println(string.length()); -
public char charAt(int index):根据下标获取字符
-
System.out.println(string.charAt(3)); -
-
public boolean contains(String str):判断当前字符串中是否包含str.
-
System.out.println(string.charAt(3)); -
public char[] toChafArray () :将字符串转换成数组。
-
System.out.println(Arrays.toString(string.toCharArray())); -
public int indexOf(String str):查找str首次出现的下标,存在,则返回该下标;不存在,则返回-1。
-
System.out.println(string.indexOf("or",5)); -
public int lastIndexOf(String str):查找字符串在当前字符串中最后一次出现的下标索引。
-
System.out.println(string.lastIndexOf("H")); -
public String trim():去掉字符串前后的空格。
-
System.out.println(string.trim()); -
public String toUpperCase():将小写转成大写。
-
System.out.println(string.toUpperCase(Locale.ROOT));//大写
System.out.println(string.toLowerCase(Locale.ROOT));//小写 -
public boolean endWith(String str):判断字符串是否以str结尾。
-
System.out.println(string.endsWith("e"));
System.out.println(string.startsWith("H"));//判断字符串是否以str开头。 -
public String replace(char oldChar, char newChar);将旧字符串替换成新字符串
-
System.out.println(string.replace("Hello","what")); -
public String[] split(String str):根据str做拆分。
-
String[] s = string.split("[ ,]+");
System.out.println(s.length);
for (String s1 : s) {
System.out.println(s1);
}
可变字符串
-
StringBuffer:可变长字符串,JDK1.0提供,运行效率慢、线程安全。
-
StringBuilder:可变长字符串,JDK5.0提供,运行效率快、线程不安全。
-
stringBuffer.append:追加
-
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("Java使我快乐 ");
System.out.println(stringBuffer.toString());
-
stringBuffer.insert:插入
-
stringBuffer.insert(0,"Hello world");
System.out.println(stringBuffer.toString()); -
stringBuffer.replace:替换
-
tringBuffer.replace(0,11,"你好 世界 ");
System.out.println(stringBuffer.toString()); -
stringBuffer.delete:删除
-
stringBuffer.delete(0,6);
System.out.println(stringBuffer.toString());
stringBuffer.delete(0,stringBuffer.length());//清空缓冲区
System.out.println(stringBuffer.toString()); -


浙公网安备 33010602011771号