a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 64|回复: 0

[其他] JAVA技巧:在JAVA语言中字符串比较应注意事项

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
熟悉C++的人对于两个字符串斗劲的代码必然很体味:   (string1==string2)
2 `" Y# q; C: C8 ^  但在java中,这个代码即使在两个字符串完全不异的情形下也会返回false7 t' t) j- H9 ~5 g
  Java中必需使用string1.equals(string2)来进行判定9 f1 C; W% q7 y- _
  填补; m- h7 y- G1 _- l
  如不美观:4 _, d6 I# Z$ `5 @1 ^" V
  string s1=new String("Hello");
% l3 `7 U' t7 f6 b0 `& L  string s2=new String("Hello");7 l* h6 _9 J' S) z2 R* w9 E/ x3 a
  则(s1==s2)=false
: q& [4 u+ D6 I: Z, D, _) }  如不美观:, |! x& |* H! \  D8 i7 j
  string s1="Hello";
' }$ y/ I0 Z- q, {. \  string s2="Hello";9 m$ Q6 O/ e7 D7 @1 g2 i) [5 K
  则(s1==s2)=true;' v' a7 c4 B( i: Z( Q/ H1 @  X
  因为他们指向的统一个对象。; z& U3 m$ Y$ X9 l. u
  如不美观把其他变量的值赋给s1和s2,即使内容不异,因为不是指向统一个对象,也会返回false。所以建议使用equals(),因为equals斗劲的才是真正的内容。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 00:39 , Processed in 0.426013 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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