1, 字符串是一个特殊对象。
2, 字符串一旦初始化就不可以被改变。
3, String s1 = “abc”; 与String s2 = new String(“abc")有什么区别?
1,String s = “ “; 与String s = new String( );是一样的
2, String str = “abc”; //s1是一个类类型变量,”abc"是一个对象。
3, s1==s2 ;是真还是假:假。(s1,s2不指向同一个地址)
4, s1.equals(s2) ;是真还是假:真。(String类的equals方法被重写了,只要值相同就为真)
4, s1在内存中有一个对象;s2在内存中有两个对象;
5, 字符串最大的特点是:一旦被初始化就不可以被改变。
常见操作:“abcd”
获取:
字符串中包含的字符数,也就是字符串的长度:int length( );获取长度。
根据位置获取位置上的字符:char charAt(int index)。
根据字符获取该字符的位置:
- int indexOf(int ch):返回的事ch在字符串中出现的位置。(int类型是ASCII值)
- int indexOf(int ch , int fromIndex):从fromIndex指定位置开始,获取ch在字符串中第一次出现的位置。
- int indexOf(String str):返回的是str在字符串上第一次出现的位置。
- int intdexOf(String str, int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置。
- 反向索引:lastIndexOf(int ch)…...
判断:
- 字符串中是否包含某个子串;boolean contains(str);
特殊之处:indexOf( str ):可以索引str出现的位置,如果返回-1,表示该str不在字符串中存在。
所以,可以用于对指定字符判断是否包含:if( str.indexOf(“aa”) != -1 )
- 字符串是否有内容;boolean isEmply();(判断字符串长度是否为0)
- 字符串是否以某字符开头;boolean startWith( str );返回boolean型。
- 字符串是否以某字符结尾;boolean endWith( str );返回boolean型。
转换:
- 将字符数组转换成字符串。
构造函数:String( chase[ ] ):
String( char[ ] , offset, count):将字符数组的一部分转换成字符串
- 静态方法:
static String copyVlaueOf(char[ ]);
static String copyValueOf(char[ ] date, int offset, int count)
static String valueOf( char[ ] )
- 将字符串转换成字符数组。
Char[ ] toCharArray():
- 将字节数组转换成字符串。
String(byte[ ])
String(byte[ ] ,offset, count):将字节数组中的一部分转换成字符数组。
- 将字符串转换成字节数组。
byte[ ] getByte():
- 将基本数据类型转换成字符串类型。
static String valueOf( int )
static String valueOf( double );//3+” “;等同于String.valueOf(3);
特殊:字符串和字节数据在转换过程中,是可以指定编码的。
替换:
String replace( oldchar, newchar ),如果替换的字符的不存在,那返回的还是原串!!
切割:
String split( regex ),regex是符号、字符等!!
子串:获取字符串的一部分
String subtsring( begin );
String subtsring( begin , end );
转换,去除空格,比较。
- 将字符串转换成大些或者小写。
String toUpperCase( );
String toLowerCase( );
将字符串两端多余的空格去掉。
String trim( );
对两个字符串进行自然顺序的比较。
int CompareTo( );小于参数字符串返回负数,大于返回正数,等于返回0!