奇怪,关于java中的对象引用,请大哥来指点。 曾经看到过,不太记得了,说的不对大家拍砖。String是个特别的类。在内存中会开辟一块池放其中的值。不象其他对象那样通过指针访问。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 aa=aa+"bb";中+是连接符连接的是bb的字符串,如果你要结果是aaaaaa那么只要改成aa=aa+bb就行了这样你就明白了吧!!!!!!!! 在JAVA中,String类型相对比较特殊,8个基本类型是按传值方式处理,对象一般赋值按传指针方式,但String s也是对象,却是传值方式。 在Java中,有一类对象象String, Integer, Double,Font等,只能通过构建器赋值,姑且称之为只读对象,用于Hash Map的key时非常方便。当 aa = aa + "bb"时,aa已经指向了新构建的对象。 System.out.println(aa);System.out.println(aa);是不是笔误,应该是System.out.println(bb);System.out.println(aa);吧如 forjie(我爱我家) 所说,String是个特殊的类。在JAVA中,String对象被认为是不可改变的。要更改String型对象所引用的字符串,只能丢弃对旧字符串的引用,代之以引用新的字符串。可以试想下面这样的过程: aa=new String ("aa"); //在内存中生成字符串"aa",令String对象aa指向它 bb=aa; //令bb等于aa,现在两个对象都引用字符串"aa" aa=aa+"bb"; //试图改变对象aa所引用的字符串,于是丢弃对原字符串"aa"的引用,另外生成字符串"aabb",令aa指向新的字符串(内存)"aabb"。 System.out.println(bb); //bb仍然指向"aa" System.out.println(aa);//aa已经指向新的字符串了说的不对的地方,请不要吝啬你的鸡蛋,尽管砸吧。 allof01(我行我素) 你讲得很对! 求哪位大大帮忙看看,数组去重问题。 关于java.io包的renameTo方法 关于一个join使用的问题,程序有点麻烦,望那个大侠帮帮忙 java 中有没有可以加载图片并且可以在图片上简单地用鼠标画些线、点的组件啊? JLabel的名称中如何换行? 菜鸟问题:使用JDBC访问本机ACCESS数据库,出现不能访问的问题,请教大侠!!! 要做一个脚本解析器,请教各位 Java GUI 初级问题! 我想问一下那里有好的java网站。 关于类,对象,实例区别。 如何从MYSQL数据库中读出二进制的图片文件?
如果你要结果是
aa
aaaa
那么只要改成aa=aa+bb就行了
这样你就明白了吧!!!!!!!!
当 aa = aa + "bb"时,aa已经指向了新构建的对象。
System.out.println(aa);是不是笔误,应该是
System.out.println(bb);
System.out.println(aa);
吧如 forjie(我爱我家) 所说,String是个特殊的类。在JAVA中,String对象被认为是不可改变的。要更改String型对象所引用的字符串,只能丢弃对旧字符串的引用,代之以引用新的字符串。可以试想下面这样的过程:
aa=new String ("aa"); //在内存中生成字符串"aa",令String对象aa指向它
bb=aa; //令bb等于aa,现在两个对象都引用字符串"aa"
aa=aa+"bb"; //试图改变对象aa所引用的字符串,于是丢弃对原字符串"aa"的引用,另外生成字符串"aabb",令aa指向新的字符串(内存)"aabb"。
System.out.println(bb); //bb仍然指向"aa"
System.out.println(aa);//aa已经指向新的字符串了说的不对的地方,请不要吝啬你的鸡蛋,尽管砸吧。