10.10-字符串
String类
相当于char[]+操作(方法)
char[]本身就是一串字符,在Java中可以作为字符串来使用
例子
package day10_10;
import java.util.Arrays;
public class StringDemo01 {
public static void main(String[] args) {
char[]chs1 = {'中','国'};
char[]chs2 = {'台','湾','省'};
//将chs1和chs2拼接在一起
chs1 = Arrays.copyOf(chs1, chs1.length+3);
System.arraycopy(chs2, 0, chs1, 2, 3);
System.out.println(Arrays.toString(chs1));
String s1 = "中国";
String s2 = "台湾省";
//将s1与s2拼接在一起
String s3 = s1.concat(s2);
System.out.println(s3);
}
}注意事项
char[]只有数据,没有操作(方法)一串字符就是字符串:
String/char[]/StringBuilder/StringBuffer字符串的字面量都是String类型
String类中的常量均为
static final修饰String类的内部就是一个
char[]String类有一个原则,对象内容不变,String对象永远不变;这使得String类使用起来与基本类型差不多。
String字面量相同时,会替换为同一个String对象引用;这是由于常量池拥有常量优化机制,会将相同的字面量优化为同一个
常用方法
String类重写了Object类中的toString/equals/hashCode方法
String字符串中所有的字符都有下标,下标从0开始,到
lenght()-1结束常用API
charAt()根据给定的下标获取对应的字符indexOf()根据给定的字符获取对应的下标lastIndexOf()查看给定字符串在当前字符串中最后一次出现的位置toUpperCase()将当前字符串中所有的小写字母转为大写toLowerCase()将当前字符串中所有的大写字母转为小写trim()去除当前字符串两边的空白startsWith()判断当前字符串是否以给定的字符串起始endsWith()判断当前字符串是否以给定的字符串结尾length()获取当前字符串的长度(字符量)equals()比较两个字符的内容是否相等equalsIgnoreCase()忽略英文大小写比较两个字符串内容是否相等substring()截取字符串toCharArray()将当前字符串转换为对应的字符数组getBytes()根据给定的字符集将当前字符串转换为对应的字节序列
例子一
例子二
例子三
正则表达式
负责字符串的匹配处理,一般用于验证字符串的格式
正则表达式本身也是一个字符串
格式
字符集
[123456789]表示123456789其中之一[1-9]表示1-9的数组(与上一个同义)[^12345]表示除了12345以外的所有[a-z]表示a-z之间的字符[0-9a-zA-Z]表示0-9az-A-Z其中之一{6}表示出现了6次{8,10}表示出现了8-10次……
例子一
定义正则表达式,表示8~15位数字、字母、下划线组成的密码
预定义字符集
\d表示任意数字,等价于[0-9].表示任意字符\w表示单词字符,等价于[0-9a-zA-Z_]\s表示匹配空白\D表示非数字\S表示非空白\W表示非单词字符?表示出现了0-1次+表示出现了1次以上*表示出现了0~n次|表示或者&表示并且
例子二
书写一个正则表达式,用于验证邮政编码的格式(6位纯数字)
例子三
验证三种手机号码
15951618999
+86 15951618999
0086 15951618999
如何验证
使用String类中的
matches(String regex)方法
例子四
利用正则表达式替换字符串内容
例子五
使用String类中的replaceAll()方法
StringUtils类
此类为commons-lang jar包所携带的扩展内容
该jar包是由Apache组织提供的,用于扩展Java中lang包中类的一些功能
例子
StringBuilder
StringBuilder是用来修改字符串的类,是一个变长字符序列
StringBuilder JDK1.5 效率较高,线程不安全
StringBuffer JDK1.0 效率较低,线程安全
StringBuilder类中方法
append/delete/replace/instert
字符串的增/删/改/插操作方法
返回值都是StringBuilder对象本身的引用(表明是同一个对象)
例子
reverse
字符串的反转方法
例子
最后更新于