Java.lang包中的Integer类调用其类方法: public static int parseInt(String s)
可以将由“数字”字符组成的字符串,如“876”,转化为int型数据,
类似地,使用java.lang包中的Byte、Short、Long、Float、Double类调相应的类方法可以将由"数字"字符组成的字符串,转化为相应的基本数据类型。如:
例如: int x;
String s = “876";
x = Integer.parseInt(s);
public static byte parseByte(String s) throws NumberFormatException
public static short parseShort(String s) throws NumberFormatException
public static long parseLong(String s) throws NumberFormatException
public static float parseFloat(String s) throws NumberFormatException
public static double parseDouble(String s) throws NumberFormatException
可以使用String 类的类方法
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)
将形如123、1232.98等数值转化为字符串,如: String str = String.valueOf(12313.9876);
对象的字符串表示:
在子类中我们讲过,所有的类都默认是java.lang包中Object类的子类或间接子类。Object类有一个 public String toString()方法,一个对象通过调用该方法可以获得该对象的字符序列表示。一个对象调用toString()方法返回的String对象的字符序列的一般形式为: 创建对象的类的名字@对象的引用的字符串表示。
字符串与字符、字节数组_1:
1.字符串与字符数组_1
String 类的构造方法:String(char[]);
String(char[],int offset,int length)分别用字符数组中的全部字符和部分字符创建字符串对象
将String对象的部分字符序列存放到数组中的方法:public void getChars(int start,int end,char c[],int offset )
将String对象的字符序列存放到数组中的方法:public char[] toCharArray()
2.字符串与字节数组_2
String(byte[])用指定的字节数组构造一个字符串对象。String(byte[],int offset,int length) 用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。public byte[] getBytes()使用平台默认的字符编码,将当前String对象的字符序列存放到字节数组,并返回数组的引用。public byte[] getBytes(String charsetName)使用参数指定字符编码,将当前String对象的字符序列存放到字节数组,并返回数组的引用 。
3.字符串的加密算法
使用一个String对象password的字符序列作为密码对另一个String对象sourceString的字符序列进行加密,操作过程如下。
将password的字符序列存放到一个字符数组中,char [] p = password.toCharArray();
1.正则表达式
正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义字符,这些特殊字符称做正则表达式中的元字符。比如,"\\dcat"中的\\d就是有特殊意义的元字符,代表0到9中的任何个,"0cat","1cat","2cat",…,"9cat"都是和正则表达式"\\dcat"匹配的字符序列。
String对象调用public boolean matches(String regex)方法可以判断当前String对象的字符序列是否和参数regex指定的正则表达式匹配。
在正则表达式中可以用方括号括起若干个字符来表示一个元字符,该元字符代表方括号中的任何一个字符。例如String regex = "[159]ABC",那么"1ABC"、"5ABC"和"9ABC"都是和正则表达式regex匹配的字符序列。例如,[abc]:代表a、b、c中的任何一个;[^abc]:代表除了a、b、c以外的任何字符;[a-zA-Z]:代表英文字母(包括大写和小写)中的任何一个"[a-zA-Z|0-9|_]+"任何由英文字母,数字或下划线组成的字符序列都和正则表达式。
2.字符串的替换
public String replaceAll(String regex,String replacement)
String对象调用public String replaceAll(String regex,String replacement)方法返回一个新的String对象,这个新的String对象的字符序列是把当前String对象的字符序列中所有和参数regex匹配的子字符序列,用参数replacement的字符序列替换后得到字符序列,例如:String str ="12hello567bird".replaceAll("[a-zA-Z]+","你好");那么str的字符序列就是将"12hello567bird"中所有英文字符序列替换为"你好"后得到的字符序列,即str的字符序列是"12你好567你好"。
3.字符串的分解
public String[] split(String regex)使用参数指定的正则表达式regex做为分隔标记分解出其中的单词,并将分解出的单词存放在字符串数组中。 例如,对于字符串str
String str = "1949年10月1日是中华人民共和国成立的日子";
如果准备分解出全部由数字字符组成的单词,就必须用非数字字符串做为分隔标记,因此,可以使用正则表达式:String regex="\\D+";做为分隔标记分解出str中的单词:String digitWord[]=str.split(regex);那么,digitWord[0]、digitWord[1]和digitWord[2]就分别是“1949”、“10”和“1”。
需要特别注意的是,split方法认为分隔标记的左面应该是单词,因此如果和当前String对象的字符序列的前缀和regex 匹配,那么split(String regex)方法分解出的第一个单词是不含任何字符的字符序列(长度为0的字符序列),即""。例如,对于:String str = "公元1949年10月1日是中华人民共和国成立的日子";
使用正则表达式String regex="\\D+"作为分隔标记分解str的字符序列中的单词:
String digitWord[]=str.split(regex);
那么,数组digitWord的长度是4,不是3。digitWord[0]、digitWord[1],digitWord[2]和digitWord[3]分别是:"","1949"、"10"和"1"。