finalize() 是Object中定义的。表示在垃圾回收器回收当前对象之前,自动调用的方法,如果重写了该方法,可以做一些清理工作。
将整型变量直接赋值给包装类变量时,如果数值范围在-128——127之间,是指向同一个对象。
String x = "abc"; //表示字符串常量对象
程序代码加载到内存中,在内存中分四种:
1、堆:存放new(对象)。
2、栈:存放局部变量。
3、数据段:存放类变量、常量。
4、代码段:存放方法的定义。
由于String类型自动重写equals,所以String类型中:
== 比较两边的地址是否相同。
.equals 比较两边内容是否相同。
String c = new String("abc");
c变量指向堆中的字符串对象,但在产生堆中的字符串对象之前,会先在常量区中,产生字符串常量对象。然后以常量对象为模板,拷入堆中的字符串对象。
正则表达式
[]: 表示[]中描述的任意字符
{3,20}:表示前一个规则最少出现3次,最多出现20次
{3,}:表示最少出现3次,没有上限限制
{3}:表示只能出现3次,不能多不能少。
| :表示或者
* :等价于{0,},可以出现,可以不出现,如果出现,没有上限限制
+ :等价于{1,},至少出现一次,没有上限限制
? :等价于{0,1},可以出现,可以不出现,如果出现,最多一次。
. : 表示任意字符
\d :等价于[0-9],表示数字
\s :表示空格或回车
\w :等价于[a-zA-Z0-9_ ],表示合法标识符
匹配汉字\u4e00-\u9fa5
字符串具有长度不可变化的特性,当对字符串进行添加、替换、删除时、不会改变字符串的内容,而是产生一个新字符串。
StringBuffer是缓冲区的对象,当对StringBuffer做添加、替换、删除时,直接改变StringBuffer的内容,不会产生新对象。
如果需要对字符串做频繁操作时,一般先转换为StringBuffer。操作完成以后,再通过调用toString()转换为字符串。
将整型变量直接赋值给包装类变量时,如果数值范围在-128——127之间,是指向同一个对象。
String x = "abc"; //表示字符串常量对象
程序代码加载到内存中,在内存中分四种:
1、堆:存放new(对象)。
2、栈:存放局部变量。
3、数据段:存放类变量、常量。
4、代码段:存放方法的定义。
由于String类型自动重写equals,所以String类型中:
== 比较两边的地址是否相同。
.equals 比较两边内容是否相同。
String c = new String("abc");
c变量指向堆中的字符串对象,但在产生堆中的字符串对象之前,会先在常量区中,产生字符串常量对象。然后以常量对象为模板,拷入堆中的字符串对象。
正则表达式
[]: 表示[]中描述的任意字符
{3,20}:表示前一个规则最少出现3次,最多出现20次
{3,}:表示最少出现3次,没有上限限制
{3}:表示只能出现3次,不能多不能少。
| :表示或者
* :等价于{0,},可以出现,可以不出现,如果出现,没有上限限制
+ :等价于{1,},至少出现一次,没有上限限制
? :等价于{0,1},可以出现,可以不出现,如果出现,最多一次。
. : 表示任意字符
\d :等价于[0-9],表示数字
\s :表示空格或回车
\w :等价于[a-zA-Z0-9_ ],表示合法标识符
匹配汉字\u4e00-\u9fa5
字符串具有长度不可变化的特性,当对字符串进行添加、替换、删除时、不会改变字符串的内容,而是产生一个新字符串。
StringBuffer是缓冲区的对象,当对StringBuffer做添加、替换、删除时,直接改变StringBuffer的内容,不会产生新对象。
如果需要对字符串做频繁操作时,一般先转换为StringBuffer。操作完成以后,再通过调用toString()转换为字符串。