a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 220|回复: 0

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

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
熟悉C++的人对于两个字符串斗劲的代码必然很体味:   (string1==string2)4 [& q* |. I/ |/ G/ R7 K+ [
  但在java中,这个代码即使在两个字符串完全不异的情形下也会返回false4 O. |. m! v4 O+ Y; I# M. }1 M
  Java中必需使用string1.equals(string2)来进行判定
+ X; c& Y; ?7 B6 q4 M) D  填补
' `! H- x3 q8 ?$ w  如不美观:( U0 u# g) M$ v) w4 s* S
  string s1=new String("Hello");% k) A$ ?' R  y# B, w4 ]
  string s2=new String("Hello");
3 s/ g; K3 C2 U8 j  则(s1==s2)=false+ F1 ^0 m+ H4 h3 {2 f+ k4 ]3 D
  如不美观:
0 L$ ~* R# j4 ~) c9 D  string s1="Hello";
, h" a2 Z7 t, E  Q; Z* a- f  string s2="Hello";
( q0 ?) F1 D# P) u4 J7 N  则(s1==s2)=true;
& t' ~) h" R9 s! ~4 `" u( l  q- j$ a  因为他们指向的统一个对象。
: _8 G. V$ |' f" ^7 y  如不美观把其他变量的值赋给s1和s2,即使内容不异,因为不是指向统一个对象,也会返回false。所以建议使用equals(),因为equals斗劲的才是真正的内容。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-27 21:09 , Processed in 0.547324 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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