---恢复内容开始---
Javase01
day01
关于String:
String是不可变对象,java.lang.String使用了final修饰,不能被继承;
字符串一旦创建永远无法改变,但是指向该字符串的引用可以改变;
Java为了提高性能,静态字符串(字面量/常量/常量连接的结果)在常量池中创建,并尽量使用同一个对象,重用静态字符串;
对于重复出现的字符串直接量,JVM首先会从常量池中查找,如果存在即返回该对象。
String在内存中采用Unicode编码,每个字符占有两个字节(任何字符);
StringBuilder:定义了可变字符串
追加字符 append(str);
插入字符 insert(i,str);
删除字符 delete(start,end);
替换字符 replace(start,end,str);
字符串反转 reverse();
indexOf方法
用于实现在字符串中检索另一个字符串
几个重载的indexOf方法:
* int(指返回类型) indexOf(str):根据字符串检索下标,
* 即查找str在字符串中的下标,并返回;若查找不到,返回-1
*
* int indexOf(str i):查找字符串中str,并且从第i个开始查找;若查找不到,返回-1
*
* int lastIndexOf(str):查找str在字符串中最后一次出现的位置
* trim():去掉字符串两边的空白
charAt(int i);:返回字符串i位置的字符
startsWith()与endsWith():检测一个字符串是否以指定字符开头或者结尾。
valueOf():将字符串转换为其他类型
substring方法用于返回一个字符串的子字符串,
常用重载方法:
*( String) substring(int 1,int 2):截取子字符串,从i1开始,到i2结束
* 含头不含尾
*
*( String substring)(int 1):只有一个参数,默认截取到末尾。
day02
正则表达式:判断字符串是否满足正则表达式的要求。
String reg01="[abc]";//任意a,b,c中的一个
String reg02="[1,2,3]";//任意1,2,3中的一个
String reg03="[^ace]";//任意非a,c,e中的一个
String reg04="[a-z]";//任意的一个英语小写字母
String reg05="[0-9]";//任意的一个数字
String reg06="[A-Za-z0-9]";//任意的一个A-Z或a-z或0-9之间的一个
str.matches(reg);判断字符串str是否满足正则表达式reg的要求.
. :任意一个字符
\d:等价于[0-9]
\w:等价于[0-9a-zA-Z_]
\s:等价于空白字符
?:0/1个
* :任意个
+ :至少一个
{n}:表示有n个
{n,}:表示至少有n个
{n,m}:表示至少n个,最多m个
String [] split(String regex):将字符串分割成字符串数组(regex表示正则表达式,以其表达的字符串为分割符,将字符串拆分成字符串数组)
replaceAll(String regex,String replacement)将字符串中匹配正则表达式regex的字符串替换成replacement
若一个类没有继承任何父类,默认继承Object
toString():返回用来描述对象的信息
str1.equals(str2)方法:比较字符串str1与字符串st2对象的字符序列是否相等。
equals与“==”的区别:
==用于比较变量的值,可以用于任何类型,如果用于引用类型,比较的是两个引用变量中存储的值(地址信息),判断两个变量是否指向相同的对象。
equals是Object方法,重写以后可以用来 比较两个对象的内容是否“相等”。
需要注意的是,Object默认的equals方法的比较规则同==。