首页 > 代码库 > java.lang.String

java.lang.String

package com.etc.usual;

import java.util.Arrays;

public class TestString {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str="qwesdzxc134532";
		String str2="123456";
		
		//1、charAt(int index) 
		char c = str.charAt(0);
		//System.out.println("str.charAt(0): "+c); 
		//System.out.println("str.charAt(13):"+ str.charAt(13)); 
		for(int i=0;i<str.length();i++){//测试长度时,数组是不带()的length,字符串是带()的length
			System.out.print(str.charAt(i)+",");//q,w,e,s,d,z,x,c,1,3,4,5,3,2,
		}
		
		//2、compareTo(String anotherString) 
		str="123456"; 
		System.out.println("\n"+str.compareTo(str2));//0
		
		//3、concat(String str)
		String str3=str.concat("ABCD");
		System.out.println("str3:"+str3);//str3:123456ABCD
		System.out.println("str:"+str);//str:123456 
		
		str+="QWER";
		str2=str2.concat("QWER");
		System.out.println("str+:"+str);//str+:123456QWER
		System.out.println("str+:"+str2);//str+:123456QWER
		
		//4、str.contains(CharSequence cs)    //当且仅当此字符串包含指定的 char 值序列时,返回 true。 
		System.out.println("contains:"+str.contains("123"));//contains:true
		System.out.println("contains:"+str.contains("123QW"));//contains:false
		
		//5、endsWith(String suffix)     //测试此字符串是否以指定的后缀结束。
		System.out.println("endsWith:"+str.endsWith("QWER"));//endsWith:true  
		str="1234567890@sina.com";
		System.out.println("endsWith:"+str.endsWith("@qq.com"));//endsWith:false
		
		//6、startsWith(String prefix)   //测试此字符串是否以指定的前缀开始。
		System.out.println("startWith:"+str.startsWith("123"));//startWith:true 
		System.out.println("startWith:"+str.startsWith("www."));//startWith:false 
		
		//7、equals(Object anObject)     //将此字符串与指定的对象比较。
		str=new String("1234567890@sina.com");
		str2=new String("1234567890@sina.com");
		System.out.println(str+"----"+str2);//1234567890@sina.com----1234567890@sina.com
		System.out.println("equals:"+str.equals(str2));//equals:true
		System.out.println("==:"+(str==str2));//==:false  
		
		//8、indexOf(String str)     //返回指定字符在此字符串中第一次出现处的索引。
		System.out.println("indexOf:"+str.indexOf("1"));//indexOf:0 
		System.out.println("indexOf:"+str.indexOf(‘@‘));//indexOf:10 
		
		//9、isEmpty()     // 当且仅当 length() 为 0 时返回 true。
		System.out.println("isEmpty():"+str.isEmpty());//isEmpty():false
		str="";
		System.out.println("isEmpty():"+str.isEmpty());//isEmpty():true
		str=" ";
		System.out.println("isEmpty():"+str.isEmpty());//isEmpty():false
		
		//10、 lastIndexOf(String str)   //返回指定子字符串在此字符串中最右边出现处的索引。
		str="12345678901111@sina123.com";
		System.out.println("indexOf:"+str.indexOf("1")); //indexOf:0
		System.out.println("lastIndexOf:"+str.lastIndexOf("1"));//lastIndexOf:19
		
		//11、length()   //返回此字符串的长度。 
		System.out.println("length():"+str.length());//length():26
		
		//12、replace(char oldChar, char newChar)   //返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
		System.out.println("str:"+str);//str:12345678901111@sina123.com
		System.out.println("replace:"+str.replace("1","A"));//replace:A234567890AAAA@sinaA23.com
		System.out.println("str:"+str);//str:12345678901111@sina123.com
		
		//13、split(String regex)  //根据给定正则表达式的匹配拆分此字符串。
		str="123:45:678901111:@sina:123.com";
		String[] sp = str.split(":"); 
		System.out.println("split:"+Arrays.toString(sp));//split:[123, 45, 678901111, @sina, 123.com] 
		
		str="123,45,678901111,@sina,123.com";
		System.out.println("split:"+Arrays.toString(str.split(",")));//split:[123, 45, 678901111, @sina, 123.com]
		
		//14、substring(int beginIndex)  //返回一个新的字符串,它是此字符串的一个子字符串。
		//System.out.println("substring:"+str.substring(str.length()-5));  
		
		//15  toCharArray() //将此字符串转换为一个新的字符数组
		char[] carr = str.toCharArray(); 
		//System.out.println("toCharArray:"+Arrays.toString(carr));
		
		
		//
		String str11=new String("123"); 
		System.out.println("str11:"+str11+"----"+str11.hashCode());//str11:123----48690
		
		str11=str11+"456";
		System.out.println("str11:"+str11+"----"+str11.hashCode());//str11:123456----1450575459
		
		//
		StringBuffer sb=new StringBuffer("123");
		System.out.println("sb:"+sb.toString()+"----"+sb.hashCode());//sb:123----366712642 
		
		//sb.append("456"); 
		StringBuffer sb2=new StringBuffer("123"); 
		System.out.println("sb2:"+sb2+"----"+sb2.hashCode());//sb2:123----1829164700
		
		/**
		 * String:是字符序列不可变的。
		 * 
		 * 相同点:都是字符序列可变。
		 * StringBuilder是单线程安全
		 * StringBuffer是多线程安全
		 */
	}
}

  

java.lang.String