a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 174|回复: 0

[专业语言] JAVA认证:在JAVA语言中字符串比较应注意事项

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
熟悉C++的人对于两个字符串斗劲的代码必然很体味:   (string1==string2)8 O1 J6 o8 t3 Y: J" R  S. H# ?
  但在java中,这个代码即使在两个字符串完全不异的情形下也会返回false. D/ N2 X0 H0 w, I# ^3 z8 G4 _+ m
  Java中必需使用string1.equals(string2)来进行判定3 o: E* K. o2 J* D6 \) u3 u
  填补% n( T9 K. s: u  G6 j. M
  如不美观:
" ?5 s2 O! `3 e# ?  string s1=new String("Hello");
1 ?& h% d. b* K  string s2=new String("Hello");
2 z6 w0 J4 V3 O, {7 T  则(s1==s2)=false7 H. t+ Y* l$ ^! s, f& |+ ^" f6 ?
  如不美观:3 _! F0 J- ?: c7 d& v# B$ d- L
  string s1="Hello";
+ h& O. @) r: G( @4 b  string s2="Hello";" [& n) y# V  g6 s  {* E$ \
  则(s1==s2)=true;
8 r6 t2 }# g, v$ r5 S# n) {) [  因为他们指向的统一个对象。7 [) R" ]; q+ L/ A0 \
  如不美观把其他变量的值赋给s1和s2,即使内容不异,因为不是指向统一个对象,也会返回false。所以建议使用equals(),因为equals斗劲的才是真正的内容。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-6 23:26 , Processed in 0.483923 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表