Java语言基础之String,StringBuffer,StringBulider

就像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);
		/***********************************************/
	}

}

 升级通常需要考虑的三个重要因素:
  提高安全性
  提高效率
  简化书写


你可能感兴趣的:(java语言基础)