参考文献:《Java面向对象程序设计(第二版)》 耿祥义 著 

知识:   Java将String类声明为Final,即用户不能扩展String类,不能有子类

 

常用构造方法:

方法:String(char a[])

方法String(char a[],int startIndex,int count)

效果:从数组a的startIndex位置截取count个字符

 

常用方法:

方法:length()

效果:获取字符串长度。

 

方法:public boolean equals(String s)

效果:比较当前字符串对象的实体是否与参数s指定字符串实体相同

 

方法:public boolean startsWith(String s)

方法:public boolean endsWith(String s)

效果:判断一个字符串对象的前、后缀是否参数s指定的字符串

 

方法:public boolean regionMatches(int firstStart,String other,int otherStart,int lenght)

效果:从字符串参数firstStart指定的位置开始处,取长度为length的一个子串,并将这个子串,参数other指定的一个子串进行比较,其中other指定的子串是从参数otherStart指定的位置开始,取长度为length的一个子串,如果两个子串相同,该方法返回true,否则返回false

 

方法:public int compareTo(String s)

效果:字符串对象可以使用String类中的compareTo(String s),按字典序与参数s指定的字符串比较大小,并返回差值。

 

方法:public boolean contains(String s)
效果:判断当前的字符串对象是否含有参数指定的字符串s

方法:public int indexOf(String)
效果:从字符串的头开始检索字符串s,并返回首次出现s的位置,如果检索失败返回-1

方法:public String substring(int startpoint)
效果:字符串对象调用该方法获得字符串的一个子串,该子串是从当前字符串的startpoint处截取到最后所得到的字符串

字符串与基本数据类型的相互转化

类:java.lang.Integer
方法:public static int parseInt(String s)
效果:可将由“数字”字符组成的字符串转化为int型数据

类似方法:
parseByte(String s)
parseShort(String s)
parseLong(String s)
parseFloat(String s)
parseDouble(String s)

方法:public static String valueOf()
效果:把数字字符转化为String类型

类:Long
方法:
public static String toBinaryString(long i)
toOctalString(long i)
toHexString(long i)
toString(long i,int p)
效果:得到整数的各种进制的字符表示
toString()方法返回整数i的p进制表示

对象的字符串表示
知识点:所有的类默认是java.lang包中Object类的子类或间接子类

类名:Object
方法:public String toString()
效果:返回一个字符串,该字符串形式如下:
          创建对象的类的名字@对象引用的字符串表示

技巧:Object类的子类或者间接子类也可以重写toString方法,比如,java.util包中的Data类就重写了toString方法,重写的方法返回了时间的字符串表示

字符串与字符数组
类名:String
方法:public void getChars(int star,int end,char[] c,int offset)
效果:将字符串中从start到end-1位置上的字符复制到数组c中,并从数组c的offset处开始存放这些字符
注意:必须保证数组c能容纳下要被复制的字符

方法:toCharArray()
效果:返回一个字符数组,该数组的长度与字符串长度相等,第i个单元中的字符刚好为当前字符串中的第i个字符相同

字符串与字节数组:
类名:String
方法:String(byte[],int offset,int length)
作用:从数组起始位置offset开始取length个字节构造一个字符串对象

方法:public byte[] getBytes()
效果:使用平台默认的字符编码,将当前的字符串转化为一个字节数组

方法:public byte[] getBytes(String charsetname)
效果:使用参数指定字符编码,将当前字符串转化为一个字节数组

 

正则表达式以及字符串的替换与分解

1、正则表达式

    定义:正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符串称为正则表达式中的元字符

    例子:“\\dhello”中的\\d即元字符,代表0~9中任意一个

    类:String

    方法:public boolean matches(String regex)

    效果:判断当前字符串对象是否和参数regex指定的正则表达式匹配

 

    常用元字符自行查找

    

知识点:在正则表达式中,可以用方括号括起若干个字符来表示一个元字符,该元字符代表放括号中的任何一个字符

[]:同时表示并运算
^:元字符的差运算
&&:元字符的交运算
?:限定修饰符,表示0到1次
*:出现0次或多次
+:出现1次或多次
{n}:恰好出现n次
{n,}:至少出现n次
{n,m}:出现n~m次
注:有关正则表达式的细节可以查阅java.util.regex包中的
Pattern类

2、字符串的替换
类:String
方法:public String replaceAll (String regex,String
replacaement)
效果:返回一个字符串,该字符串是当前字符串中所有和参数
regex指定的正则表达式匹配的子字符串被参数replacement替
换后的字符串
注:replaceAll方法返回的一个字符串,但不改变当前的字符串

3、字符串分解
类:String
方法:public String[] split(String regex)
效果:使用参数指定的正则表达式regex作为分隔标记分解出其
中的单词、并将分解出的单词存放在字符串数组中
 

 

知识点:因为String是final类,所以创建出来就不会被改变