- String是基本数据类型么?
String不是基本数据类型(基本数据类型包括int、byte、float、double、char、short、long、boolean ) - 是否可以继承String类?
String类是final类,不可以继承。 - 创建字符串的方法:
① 使用String()方法:
String str = new String ();
② 使用String(char[a])方法:
Char a[] = {a,b,c,d,e};
String str = new String(a);
③ 使用String(char a[], int offset , int length)方法:
Char a[] = {a,b,c,d,e};
String str = new String(a,0,,3); - 字符串连接的方法:
① 使用“+”进行连接:
String s1 = “ni hao”;
String s2 = “ma”;
String s = s1 + s2;
String也可以使用“+”和其他数据类型连接,编译器会将其他的操作类型转换为字符串,返回值是字符串。
② append方法:
StringBuffer sb1 = new StringBuffer(“HI”);
StringBuffer sb2 = new StringBuffer(“ni hao!”);
System.out.println(sb1.append(sb2)); - 获取字符串信息:
① str.length();//获取字符串的长度;
② str.indexOf(s);//获取s在字符串从起始位置开始第一次出现的的位置;
③ str.lastIndexOf(s);//获取s在字符串从起始位置开始最后一次出现的的位置;
(索引位置是从0开始的,如果检查不到字符s,则返回-1)
④ str.charAt(5);//字符串中索引位置为5的的字符; - 去除字符串中的空格:
① 去除字符串的前后空格: str.trim();
② 去除字符串所有空格:
str.replaceAll(“”,””);//前面一个参数是要被替换的字符串,后面一个参数是用来替换的新字符串
StringTokenizer();//这个方法我还不太了解,有懂的帮忙解释下~ - 字符串替换:
① str.replace("a”,”b”);//将所有a替换成b;
(replace和replaceAll的区别之一:replaceAll支持正则表达式,replace不支持正则);
② replaceFirst(“a”,”b”);//将第一个a替换为b; - 判断字符串:
① 判断字符数传是否相等:
str1.equals(str2);//严格区分大小写情况下比较两个字符串是否相等
str1.equalsIgnoreCase(str2);//忽略大小写情况下比较两个字符串是否相等
② 判断字符串是否以指定内容开始和结尾:
str.startsWith(“a”);//字符串是否以“a”开头
str.endsWith(“b”); //字符串是否以“b”结尾 - 字母大小写转换:
① 将字符串中的大写字母转换成小写字母:str.toLowerCase();
② 将字符串中的小写字母转换成大写字母:str.toUpperrCase(); - 字符串分割:
① String str = new String(“abc”,”acc”,”adc”,”aec”);
String news[] = str.split(“,”);//将字符串str以“,”为分隔符进行分割;
② String str = new String(“abc”,”acc”,”adc”,”aec”);
String news[] = str.split(“,”,2);//将字符串str以“,”为分隔符进行分割,并限定分割成两份; - 格式化:
format(Local I,String format,Object...args); - 正则表达式:
常用:
① 电话号码的正则:String regex = "^(1[345789]\d{9})$";
② 邮箱正则:
String regex = "\w\@\w\.com";
③ IP地址的正则:
String regex = "^(1\d{2}2[0-4]\d25[0-5][1-9]\d[1-9])\."- "(1\d{2}2[0-4]\d25[0-5][1-9]\d\d)\."
- "(1\d{2}2[0-4]\d25[0-5][1-9]\d\d)\."
- "(1\d{2}2[0-4]\d25[0-5][1-9]\d\d)$";
- StringBuffer和StringBuilder: