A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙峰 黑马帝   /  2012-6-17 10:57  /  1716 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙峰 于 2012-6-17 14:07 编辑



这是讲正则表达式时。不懂的是,同时写了两个"mail"字符串,两个正则表达时 “reg”.
可运行语句System.out.println(mail.matcher(reg));时,到底是哪个 mail 和reg 呢?

若是第二个的话,那要是再想用第一个咋办呢?

6 个回复

倒序浏览
当然都是第二个。。
回复 使用道具 举报
宋浩 发表于 2012-6-17 11:02
当然都是第二个。。

String 类对象不是不能覆盖吗?
回复 使用道具 举报
第二个  mail引用重新指向正则地址
回复 使用道具 举报
孙峰 发表于 2012-6-17 11:06
String 类对象不是不能覆盖吗?

reg只是一个字符串引用型变量,它的值可是随时改变,其值以它调用前的最后一次赋值为准!
回复 使用道具 举报
你首先定了一个String类型的变量mail并且赋啦初值
但是下面有重新给mail赋了值
所以mail=101.1,下面同理
所以mail 和reg 用的都是第二个
再想用第一个,重新给他赋值或者使用不同的变量名字
回复 使用道具 举报
朝哥 中级黑马 2012-6-17 12:24:14
7#
String也是对象,对象的特点就是:当对象的引用指向另一个对象时,原来的指向断开,原来的对象也就成了垃圾而被抛弃!
比如说
String a = “abc”;
a = “efg”;
此时“abc”还在,但没有任何引用指向它,早晚要被java垃圾回收器回收。你认为还可以通过原来的引用a调用吗?答案是no
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马