字符串在我们编码的过程中是必不可少的一个元素,我们或多或少的要对字符串进行一些使用,那么使用过程中就会需要不同的方法来实现我们的需求;
这些方法使用的恰当的话,会使我们程序编译更加轻松和快捷;
下面介绍几种方法,和实例的应用;
charAt();返回指定下标的字符,由一个char类型接收;
indexof()和lastindexof();得到一个子字符串第一次出现的下标和最后一次出现的下标;
equals();比较连个字符串的内容是否相等,区分大小写;equalsIgnoreCase();比较连个字符串的内容是否相等,不区分大小写
length();得到字符串的长度;
replace(“1”,“2”);将所有的1字符串替换为2;也可以用于清除;
subString(2,5);截取字符串子串;包括2不包括5;
trim();去除两头的空格,中间的不行;
split(“1”);以1作为分割点吧字符串分隔开,放入一个数组中;
replace(“正则表达式”,“2”);把所有满足正则表达式的的字符替换为2;
matches();判断字符串是否匹配指定的正则表达式
正则表达式的特殊符号
[]:匹配[]中描述的任意字符
表达式
[013] 描述:单个数字0,1或3。
[0-9][0-9] 描述:任意两位数从00到99。
A[0-4]b[05] 描述:由四个字符组成的字符串,第一个字符是A,第二个字符是一个0到4之间的数字,第三个字符是b.最后一个字符是0或5。
()和| 描述多个字符的选择范围
表达式
(ab|cde) 描述只能选择ab或cde。
{}:描述前一个规则可以出现的次数
表达式
X{N,M} 规则X,最少出现N次,最多出现M次
X{N,} 规则X,最少出现N次,没有上限限制
X{N} 规则X,只能出现N次,
表达式
wd 描述:匹配wad,weed,bad,beed。
(pro|anti)-oop 描述:匹配pro-oop和anti-oop。
(AZ|CA|CO)[0-9]{4} 描述:匹配AZxxxx,CAxxxx,andCOxxxx,x是0-9之间的数字
匹配汉字\u4e00\u9fa5
表达式
- 描述 等价于{1}。最少出现一次,没有上限限制
- 描述 等价于{0}。可以不出现,也可以出现多次
. 描述匹配任意字符
? 描述等价于{0,1},可以不出现,要出现只能出现一次
\d(\D) 描述 等价于[0-9]。匹配数字。\D非数字
\w(\w)描述 等价于[a-zA-Z0-9]。匹配合法标识符。\w为非合法标识符
\s(\S)描述 匹配空格和和回车。\S为非法空格和回车
垃圾回收:是虚拟机的线程,在虚拟机相对空闲时,进行堆空间中无用对象的清理
开发者不能直接干预垃圾回收,但可以通过调用System.gc()加快垃圾回收的速度
final、finally、finalize的区别
final是修饰符,可以修饰类,方法,变量。修饰类,表示该类不能被继承。修饰方法,表示该方法不能被重写。修饰变量,表示变量的值不能变化。
finally是语句块,表示无论是否有异常发生都会执行的语句块。
finalize是方法。在Object中定义,表示垃圾回收当前对象之前,会调用该方法,完成清理
包装类允许在对象中描述基本数据类型的数据。由于包装类变量是引用数据类型,所以,可以给包装类变量赋值为null。
包装类对象中包含的数据,不能在运行期间改变。
包装类常用的方法:
xxxValue()方法
自动装箱和自动拆箱
自动装箱----自动将基本数据类型转换为包装类类型
Integer x=3----等价于 Integer x=new Integer(3)
自动拆箱----自动将包装类类型转换为基本数据类型
Integer x=new Integer(3)-----等价于int y=x.intValue
狭义javaBean的规范
在java中,可以重复利用的组件称为javaBean
在开发中,经常需要对对象进行数据的封装,以及对象数据的传输。
这一类对象,通常只有属性的定义,没有行为的定义。这一类对象就是狭义的javaBean
在java中,狭义javaBean有以下规范:
javaBean必须包含一个无参数的公有构造方法。
属性全部为私有属性,通过get/set方法对属性进行访问和设置。
需要实现序列化接口。
在堆中产生的字符串对象,需要以常量池中的字符串常量对象为模板。将内容考入堆中的字符串对象中。