就像C++中的String一样,String类型也有这许多相同之处。
String的相关操作:
1字符串长度获取: int length() 方法
2查找字符的位置: int indexOf(int ch);
3查找字符串的位置: indexof(String str);
4查找是否包含字符串:boolean contains(String str)
5判断字符串内容是否相同 :boolean equals(String str)
6判断字符串内容是否相同 并忽略大小写 boolean equalsIgnoreCase(String str)
7判断字符串是否匹配给定的正则表达式。 boolean matches(String regex)
8获得子串:String substring(int beginIndex, int endIndex) 返回一个新字符串
字符串相关转换:
转换为字符串:
通过String构造方法,可以将字节数组转成字符串:String(byte[] b)
通过String构造方法, 可以将字符数组转成字符串:String(char[] ch)
通过String构造方法, 将StringBuffer转换为字符串:String(Stringbuffer buffer)
通过String构造方法, 将StringBuilder转换为字符串:String(StringBuilder builder)
转换为其他数据类型:
将字符串转成字符数组:char[] toCharArray()
将字符串转换成字节数组:byte[] getBytes()
字符替换:
String replace(char oldchar,char newchar)
String replaceAll(String regex, String replacement)
字符比较:
int compareTo(String anotherString) 按字典顺序比较两个字符串。
int compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。
StringBuffer与StringBulider
StringBuffer 线程同步 安全 但效率低 建议多线程时用
StringBuilder 线程不同步 不安全 但效率高 建议单线程用
package Com.Example.Stringbuffer; public class Main { /* * StringBuffer 线程同步 安全 但效率低 建议多线程时用 * StringBuilder 线程不同步 不安全 但效率高 建议单线程用 */ public static void main(String[] args) { /**StringBuffer 线程同步**************************/ StringBuffer sb= new StringBuffer(); sb.append("10"); sb.append("rr"); System.out.println(sb.toString()); sb.insert(0, "start"); System.out.println(sb.toString()); sb.delete(0, 3); System.out.println(sb.toString()); System.out.println(sb.length()); System.out.println(sb.indexOf("rr")); System.out.println(sb.reverse()); /************************************************/ /********StringBuilder 线程不同步*****************/ StringBuilder sb2=new StringBuilder(); sb2.append("aaa"); System.out.println(sb2.toString()); /***********************************************/ /***********************************************/ String str=" 1.. "; System.out.println(str.trim()); //去除空格 char [] charg={'a','b','c'};// 将字符数组转化为字符串 String str2= new String(charg); System.out.println(str2); /***********************************************/ } }
升级通常需要考虑的三个重要因素:
提高安全性
提高效率
简化书写