| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 442 人关注过本帖
标题:关于String
只看楼主 加入收藏
TS_星光绝灭
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
收藏
 问题点数:0 回复次数:6 
关于String
String s1="N";
s1="n";
String s2=new String("H");
s2="h";
其中s1和s2有什么区别??
搜索更多相关主题的帖子: String 
2007-06-30 13:56
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

两个不同对象,这就是区别


可惜不是你,陪我到最后
2007-06-30 14:09
TS_星光绝灭
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
收藏
得分:0 

我问的不是这个;
我记得在一本书上看过这两种类型在处理equals()或"=="运算时
有区别的,好像要涉及储存池,trim()什么的,但是我不是很懂,不知道谁会?


黯淡,但矜持
2007-06-30 14:16
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
如果是直接赋值的,就存在常量池里面

比如

String a="test";

String b="test";

这个时候, a==b是返回 true的

如果String b=new String("test");
这个时候,a==b就返回false了


可惜不是你,陪我到最后
2007-06-30 14:27
TS_星光绝灭
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
收藏
得分:0 
既然是在常量池中,那又为什么是可改的?

黯淡,但矜持
2007-06-30 14:36
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
谁说可以改?

你只能把你的引用指向别的地方,"test"这个字符串是不可能被更改的

String a="test";
String b=a;


b="other";

这个时候,a指向的还是test

可惜不是你,陪我到最后
2007-06-30 14:47
神vLinux飘飘x
Rank: 2
等 级:新手上路
威 望:3
帖 子:436
专家分:0
注 册:2007-1-4
收藏
得分:0 
月经帖
2007-06-30 17:23
快速回复:关于String
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012037 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved