1.String类 (其创建的是对象,即字符串对象。)
字符串常量对象使用双引号括起来的字符串序列,例如:“你好”、“12.97"、”boy“等。
1)字符串对象的创建
先声明字符串对象变量,再对变量赋值
① String s;
s=new String("we are student");
②亦可以用一个已存在的字符串创建另一个字符串,
String tom=new String(s);
③用字符数组创建字符串对象,例如:
char a[]={'a','b','c'};
String s=new String(a);
④提取字符数组的一部分创建一个字符串对象,String(char a[],int startIndes,int count),在字符数组a中从startIndex开始,提取count个字符。
char a[]={'a','b','c','d'};
String s=new String(a,1,2);
相当于 String s=new String ("bc");
⑤引用字符串常量对象,将字符串常量的引用赋值给一个字符串变量,例如:
String s1,s2;
s1="How are you";
s2="how you you"; //此时s1和s2在内存中是同一个地址,即s1==s2和s1.equals(s2)的值都为true,比较字符串是否相等时禁用此表达式
2.)String 类的常用方法
① length()方法获取字符串的长度,例如:
String tom="我们是学生”;
int n1,n2;
n1=tom.length();
n2="你好".length(); //一个汉字当做一个字符
②equals(String s)比较当前字符串对象和s的指定的字符串的对象是否相同,例如:
String tom=new String("We are student");
String boy=new String("You are student");
String jerry=new String("We are student");
boolean m=tom.equals.(boy) //m=false;
③public boolean startsWith(String s) public boolean endsWith(String s)方法,字符串对象调用startsWith(String s)方法,判断当前字符串对象是否以s开头。
④public boolean regionMatches(int firstStart,String other,int ortherStart ,int length)方法,从当前字符串参数firstStart指定的位置处开始,取长度为length的一个字串,并将子串和字符串other在otherStart指定的位置开始,区长度为length的一个字串进行比较,如果两个字串相同,该方法返回true
重载方法:
public boolean regionMatches(boolean b,int firstStart,String other,int ortherStart,int length)
参数b决定是否忽略大小写,当b为true时,忽略大小写。
⑤public int compareTo(String s)方法,字符串对象调用该方法将于s按字母表的排列顺序比较大小,当当前字符串与s相同时,该方法返回值为0,当当前字符串对象大于s,该方法返回正值。例如:
String str="abcde";
str.compareTo("boy")的返回值小于零。
⑥public boolean contains(String s)
判断当前字符串对象是否含有参数指定的字符串。
⑦public int indexOf(String s)
从当前字符串的开头检索字符串s,并返回出现首次出现s的位置。若没有检测到字符串s,该方法返回-1.
public int indexOf(String s,int startpoint)方法从当前字符串的startpoint处开始检测是否有字符串s,并返回首次出现s的位置,若没有s,返回-1
⑧public String substring(int startpoint)
字符串对象调用该方法过得一个当前字符串的子串,该子串是从当前字符串的startpoijnt处截取到字符串对象的最后,
字符串对象调用substring(int start,int end)方法获得一个当前字符串的子串,该子串是从当前字符串的start处截取到end处所得到的字符串,但不包括end处所对应的字符。
⑨public String trim()
一个字符串s通过调用方法trim()得到一个字符串对象,该字符串对象时s去掉前后空格后的字符串。
3).字符串与基本数据类型的相互转化
①字符串转化为基本数据类型
java.lang包中的Integer类调用其类方法:public static int parseInt(String s)将由数字组成的字符串转化为int 型数据。
例如:
int x;
String a ="12334";
x=Integer.parseInt(a);
类似的,使用java.lang包中的Byte、Short、Long、Float、Double类调用相应的类方法;
②基本数据类型转化为字符串
public static String valueOf(byte n)
public static String valueOf(int n)
public static String valueOf(long n)
public static String valueOf(float n)
public static String valueOf(double n)
例如:
String str=String.valueOf(123.23);
4)字符串与字节数组的转化
String类 的构造方法String(byte [])用指定的字节数组构造一个字符串对象。String (byte [],int offset,int length)构造方法用指定的字节数组的一个部分,即从数组起始位置offset开始去length个字节构造一个字符串对象),
public bytep[] getBytes()方法使用平台默认的字符编码,将当前字符串转化为一个字节数组。
public byte[] getBytes(String charsetName)使用参数指定字符编码,将当前字符串转化为一个字节数组。例如调用getBytes("GB2312")
注意:一个汉字占两个字节。
5)字符串的分解
JDK1.4版本后,String类提供了一个split()方法
public String[] split(String regex)
字符串调用该方法时,使用参数指定的正则表达式regex作为分隔符标记分解出其中的单词,并将分解出的单词存放在字符串数组中。
例如:“2008年8月8日北京奥运会“这个字符串,
若将其中的全部有数字字符组成的单词,就必须用非数字字符串作为分隔标记,
//设定正则表达式:
String regex = "\\D+";
//存储分隔出的单词:
String digitWord[] = str.split(regex);
则digitWord[0],digitWord[1],digitWord[2]分别是“2008","8","8".
[完结]