String类
字符串是常量,创建后不可改变 字符串字面值存储在字符串池中,可以共享
常用方法
length() 返回字符串的长度
String content= " java是世界上最好的语言,java天下第一 " ;
System . out. println ( content. length ( ) ) ;
charAt(int index) 返回某个位置的字符
System . out. println ( content. charAt ( 2 ) ) ;
contains(String str) 判断是否包含某个子字符串
System . out. println ( content. contains ( "java" ) ) ;
System . out. println ( content. contains ( "jaa" ) ) ;
toCharArray 返回字符串对应的数组
System . out. println ( Arrays . toString ( content. toCharArray ( ) ) ) ;
indexOf 返回子字符串首次出现的位置
System . out. println ( content. indexOf ( "java" ) ) ;
System . out. println ( content. indexOf ( "java" , 4 ) ) ;
lastIndexOf 返回子字符串最后一次出现的位置
System . out. println ( content. lastIndexOf ( "java" ) ) ;
trim 去掉字符串前后的空格
System . out. println ( content. trim ( ) ) ;
toUpperCase 小写转大写 toLowerCase 大写转小写
System . out. println ( content. toUpperCase ( ) ) ;
endsWith(String str) 判断字符串是否以str结尾 startsWith(String str) 判断字符串是否以str开始
System . out. println ( content. endsWith ( " " ) ) ;
replace 用新的字符或字符串替换旧的字符和字符串
System . out. println ( content. replace ( "java" , "php" ) ) ;
split 对字符串进行拆分
[]中为用来划分字符串的所有依据 []+表示划分的依据可以是一个或者多个
System . out. println ( Arrays . toString ( content. split ( "是" ) ) ) ;
System . out. println ( Arrays . toString ( content. split ( "[ 是,]+" ) ) ) ;
substring(int beginIndex) 获取从beginIndex开始的子字符串
System . out. println ( content. substring ( 3 ) ) ;
equals()和compareTo()
String s1= "java" ;
String s2= "Java" ;
String s3= "jbva" ;
String s4= "javaabc" ;
System . out. println ( s1. equals ( s2) ) ;
System . out. println ( s1. equalsIgnoreCase ( s2) ) ;
System . out. println ( s1. compareTo ( s2) ) ;
System . out. println ( s1. compareTo ( s3) ) ;
System . out. println ( s1. compareTo ( s4) ) ;
例题
String str = "this is a text" ;
String [ ] s= str. split ( " " ) ;
System . out. println ( "1. " + Arrays . toString ( s) ) ;
String str1= str. replace ( "a" , "a easy" ) ;
System . out. println ( "2. " + str1) ;
String str2= str. replace ( "text" , "content" ) ;
System . out. println ( "3. " + str2) ;
StringBuilder str3 = new StringBuilder ( ) ;
for ( int i= 0 ; i< s. length; i++ ) {
char upperFirst= Character . toUpperCase ( s[ i] . charAt ( 0 ) ) ;
if ( i== s. length- 1 )
str3. append ( upperFirst) . append ( s[ i] . substring ( 1 ) ) ;
else
str3. append ( upperFirst) . append ( s[ i] . substring ( 1 ) ) . append ( " " ) ;
}
System . out. println ( "4. " + str3) ;
StringBuffer
可变长字符串,jdk1.0提供,运行效率慢,线程安全
StringBuffer stringBuffer= new StringBuffer ( ) ;
stringBuffer. append ( "this is a text" ) ;
System . out. println ( stringBuffer) ;
System . out. println ( stringBuffer. insert ( stringBuffer. length ( ) - 4 , "easy " ) ) ;
System . out. println ( stringBuffer. replace ( stringBuffer. length ( ) - 4 , stringBuffer. length ( ) , "content" ) ) ;
System . out. println ( stringBuffer. delete ( stringBuffer. length ( ) - 4 , stringBuffer. length ( ) ) ) ;
StringBuilder
可变长字符串,jdk5.0提供,运行效率快,线程不安全 比String效率高,节省内存
long start= System . currentTimeMillis ( ) ;
String str= "" ;
for ( int i= 0 ; i< 9999 ; i++ ) {
str+= i;
}
long end= System . currentTimeMillis ( ) ;
long start1= System . currentTimeMillis ( ) ;
System . out. println ( "String用时:" + ( end- start) ) ;
StringBuilder stringBuilder= new StringBuilder ( ) ;
for ( int i= 0 ; i< 9999 ; i++ ) {
stringBuilder. append ( i) ;
}
long end1= System . currentTimeMillis ( ) ;
System . out. println ( "StringBuilder用时:" + ( end1- start1) ) ;
完整代码:
public class StringClass {
public static void main ( String [ ] args) {
testMethod ( ) ;
Demo ( ) ;
testStringBuffer ( ) ;
testEffect ( ) ;
}
private static void testEffect ( ) {
long start= System . currentTimeMillis ( ) ;
String str= "" ;
for ( int i= 0 ; i< 9999 ; i++ ) {
str+= i;
}
long end= System . currentTimeMillis ( ) ;
long start1= System . currentTimeMillis ( ) ;
System . out. println ( "String用时:" + ( end- start) ) ;
StringBuilder stringBuilder= new StringBuilder ( ) ;
for ( int i= 0 ; i< 9999 ; i++ ) {
stringBuilder. append ( i) ;
}
long end1= System . currentTimeMillis ( ) ;
System . out. println ( "StringBuilder用时:" + ( end1- start1) ) ;
}
private static void testStringBuffer ( ) {
StringBuffer stringBuffer= new StringBuffer ( ) ;
stringBuffer. append ( "this is a text" ) ;
System . out. println ( stringBuffer) ;
System . out. println ( stringBuffer. insert ( stringBuffer. length ( ) - 4 , "easy " ) ) ;
System . out. println ( stringBuffer. replace ( stringBuffer. length ( ) - 4 , stringBuffer. length ( ) , "content" ) ) ;
System . out. println ( stringBuffer. delete ( stringBuffer. length ( ) - 4 , stringBuffer. length ( ) ) ) ;
}
private static void Demo ( ) {
String str = "this is a text" ;
String [ ] s= str. split ( " " ) ;
System . out. println ( "1. " + Arrays . toString ( s) ) ;
String str1= str. replace ( "a" , "a easy" ) ;
System . out. println ( "2. " + str1) ;
String str2= str. replace ( "text" , "content" ) ;
System . out. println ( "3. " + str2) ;
StringBuilder str3 = new StringBuilder ( ) ;
for ( int i= 0 ; i< s. length; i++ ) {
char upperFirst= Character . toUpperCase ( s[ i] . charAt ( 0 ) ) ;
if ( i== s. length- 1 )
str3. append ( upperFirst) . append ( s[ i] . substring ( 1 ) ) ;
else
str3. append ( upperFirst) . append ( s[ i] . substring ( 1 ) ) . append ( " " ) ;
}
System . out. println ( "4. " + str3) ;
}
private static void testMethod ( ) {
String content= " java是世界上最好的语言,java天下第一 " ;
System . out. println ( content. length ( ) ) ;
System . out. println ( content. charAt ( 2 ) ) ;
System . out. println ( content. contains ( "java" ) ) ;
System . out. println ( content. contains ( "jaa" ) ) ;
System . out. println ( Arrays . toString ( content. toCharArray ( ) ) ) ;
System . out. println ( content. indexOf ( "java" ) ) ;
System . out. println ( content. indexOf ( "java" , 4 ) ) ;
System . out. println ( content. lastIndexOf ( "java" ) ) ;
System . out. println ( content. trim ( ) ) ;
System . out. println ( content. toUpperCase ( ) ) ;
System . out. println ( content. endsWith ( " " ) ) ;
System . out. println ( content. replace ( "java" , "php" ) ) ;
System . out. println ( Arrays . toString ( content. split ( "是" ) ) ) ;
System . out. println ( Arrays . toString ( content. split ( "[ 是,]+" ) ) ) ;
System . out. println ( content. substring ( 3 ) ) ;
String s1= "java" ;
String s2= "Java" ;
String s3= "jbva" ;
String s4= "javaabc" ;
System . out. println ( s1. equals ( s2) ) ;
System . out. println ( s1. equalsIgnoreCase ( s2) ) ;
System . out. println ( s1. compareTo ( s2) ) ;
System . out. println ( s1. compareTo ( s3) ) ;
System . out. println ( s1. compareTo ( s4) ) ;
}
}
其他相关文章: