String的常用方法
charAt 通过下标获取字符
System.out.println(s.charAt(0));
indexOf 获取指定字符串下标位置(只能获取一个),如果该字符不存在返回-1
String s1="hello,java,javaString";<br> System.out.println(s1.indexOf("String"));
lastIndexOf 获取指定字符串下标位置(只能是最后一次出现) ,如果该字符不存在返回-1
String s2="hello,java,javaString";<br> System.out.println(s2.lastIndexOf("java"));
length 获取字符串长度
equalsIgnoreCase 如果两个字符串的长度相同,并且其中的相应字符都相等(忽略大小写)
contains 判断是否包含指定字符串
endsWith 判断是否以指定字符串结尾
isEmpty 判断字符串是否为空串(长度判断)
substring可以截取指定长度
String s13="hello,java!!!";<br> s13=s13.substring(s13.indexOf("java"),s13.indexOf("java")+"java".length());<br> System.out.println(s13);
getBytes获取所占的字节数
String s14="你好";<br> byte[] bytes = s14.getBytes();<br> for (int i = 0; i <bytes.length ; i++) {<br> System.out.println(bytes[i]);<br> }
String、StringBuffer、StringBuilder区别
- 这三个类都可以用于表示字符串<br>- 1、String类是字符串常量类,一旦定义不能改变<br>- 2、StringBuffer、StringBuilder是可变的字符串,自带有缓冲区。默认缓冲区大小16个字符<br>- 3、StringBuffer是线程安全的,所以效率低 StringBuilder是线程不安全的,所以效率高<br>
在大量的字符串拼接的时候,使用 StringBuffer、StringBuilder。<br>而不考虑线程安全的时候,选择StringBuilder,否则选择StringBuffer