String是不可变对象,当字符串内容改变时将重新创建对象,字符串的引用可以指向同一个对象,也可以重新赋值。
在内存中采用Unicode编码,每个字符占2字节
String常量池:java为了提高性能,静态字符串(字面量/常量)在常量池中创建,并尽量使用同一个对i徐昂,重用静态字符串。对于重复出现的字符串直接量,JVM会首先在常量池中查找,如果存在即返回该对象。
String的构造方法:
String():创建一个内容的空字符串对象
String(String value):创建字符串内容为value的对象
String(Char[] value):创建字符串内容为字符数组value的对象
String(byte[] bytes):创建字节数组连成的字符串对象
String(byte[] bytes,String CarsetName):将字节数组bytes转化为对应的字符串CarseName
int length():获取字符串字符序列的长度
int indexOf(str):用于查找给定字符串的位置,从第0位置开始查找第一次出现str字符串的位置,找不到返回-1
int indexOf(String str,int n):从第n个位置开始查找第一次出现str字符串的首位置。找不到返回-1
int lastIndexOf(String str,int n):从第n个位置开始查找最后一次出现str字符串的首位置,找不到返回-1
String substring(int start):截取从start位置开始到末尾的字符串
String substring(int start ,int end):用于截取指定位置的字符串,截取从第start位置到第end位置的字符串
String trim():用于除去字符串两边的空白(包括空格和Tab键出的空白)
char chatAt(int m):获取字符串中指定位置m处的字符
boolean startsWith(String str):检查一个字符串是否以指定字符串str开始
boolean endsWith(String str):检查一个字符串是否以指定字符串str结束
String toUpperCase():将字符串中的英文部分转换为大写字母
String toLowerCase():将字符串中的英文部分转换为小写字母
String.valueOf():属于静态方法,用String调用,将其他类型转化为字符串类型
String concat(String str):将字符串str追加到字符串末尾。
byte[] getByte():以当前系统默认的字符串编码集,返回字符串所对应的二进制序列
byte[] getByte(String charsetName):将当前字符串按照charsetName格式转换为与之相对应的字节,并存入字节数组,GBK:国标字符集; UTF-8:国际字符集
boolean equalsIgnoreCase(String str):是不区分字母大小写的equals()比较,常用于验证码
getCahrs(int begin,int end,char[],int dstbegin):从字符串begin位置开始,到end位置结束,复制字符串到字符数组char[],从数组的detbegin的位置开始存储。
boolean matches(String regex):验证当前字符串是否满足给定的正则表达式格式要求
比较当前字符串是否符合regex(正则表达式)格式
(在java中,无论写不写^和$,mmatches方法都是全匹配验证)
String[] split(String regex):用于拆分字符串
将给定的字符串中满足regex(正则表达式)格式的部分切除掉,保留余下的部分按顺序存储在一个字符串数组中(String[])。
String replaceAll(String regex, String replace):将字符串中满足正则表达式regex的部分替换为给定字符串replace
StringUtils类
针对字符串操作的工具类,提供了一系列静态方法,在Apache阿帕奇Commons-lang包下中,需下载。
StringUtils常用方法:
1)String repeat(String str,int repeat):重复字符串repeat次后返回。
2)String join(Object[] array,String):将一个数组中的元素连接成字符串。
3)String leftPad(String str,int size,char padChar):向左边填充指定字符padChar,以达到指定长度size。
4)String rightPad(String str,int size,char padChar):向右边填充指定字符padChar,以达到指定长度size。