黑马程序员技术交流社区

标题: String 字符串,同名的问题 [打印本页]

作者: 孙峰    时间: 2012-6-17 10:57
标题: String 字符串,同名的问题
本帖最后由 孙峰 于 2012-6-17 14:07 编辑



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

若是第二个的话,那要是再想用第一个咋办呢?
作者: 宋浩    时间: 2012-6-17 11:02
当然都是第二个。。
作者: 孙峰    时间: 2012-6-17 11:06
宋浩 发表于 2012-6-17 11:02
当然都是第二个。。

String 类对象不是不能覆盖吗?
作者: 姚玉鹏    时间: 2012-6-17 11:07
第二个  mail引用重新指向正则地址
作者: 李盼    时间: 2012-6-17 11:14
孙峰 发表于 2012-6-17 11:06
String 类对象不是不能覆盖吗?

reg只是一个字符串引用型变量,它的值可是随时改变,其值以它调用前的最后一次赋值为准!
作者: 李海晓    时间: 2012-6-17 11:34
你首先定了一个String类型的变量mail并且赋啦初值
但是下面有重新给mail赋了值
所以mail=101.1,下面同理
所以mail 和reg 用的都是第二个
再想用第一个,重新给他赋值或者使用不同的变量名字

作者: 朝哥    时间: 2012-6-17 12:24
String也是对象,对象的特点就是:当对象的引用指向另一个对象时,原来的指向断开,原来的对象也就成了垃圾而被抛弃!
比如说
String a = “abc”;
a = “efg”;
此时“abc”还在,但没有任何引用指向它,早晚要被java垃圾回收器回收。你认为还可以通过原来的引用a调用吗?答案是no




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2