"12345".equals(str)与str.equals("12345")有什么区别?

trust_zy1218 2011-05-07 09:21:21
"12345".equals(str)与str.equals("12345")有什么区别?
...全文
253 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
superlovejava 2011-05-10
  • 打赏
  • 举报
回复
给力 的 我也想问
Ade子夜 2011-05-10
  • 打赏
  • 举报
回复
楼上正解!顶
望舒 2011-05-10
  • 打赏
  • 举报
回复
我的沙发
yuanxl33 2011-05-10
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 jingxiaobo1987 的回复:]
引用 15 楼 sunnyan123 的回复:
这好像在编译的时候是没有问题的,只是在运行的时候就会体现

编译的时候,编译器不会检查空指针异常。学习了沙发的解释哈
我们比较两个书相等否 也应该这样写 1==i 而不是 i==1.因为我们很可能写成i=1(永远为真)而写成1=i,编译会报错
[/Quote]
写成 i=1 编译会提示你改的。所以不管你写那个,都OK
  • 打赏
  • 举报
回复
Java十大低级错误
1、方法和变量命名随意而不规范,没有类注释、方法注释或注释不规范,代码修改后,不同步修改注释,导致注释与代码不符。

2、数据类不重载toString()方法。

3、对方法的调用不进行空指针判断而造成空指针异常。

4、数据库操作、IO操作的资源没有及时释放,数据库结果集和连接释放顺序不正确,或者使用没有必要的预处理。

5、循环体内包含了大量没有必要在循环中处理的语句,循环体内循环获取数据库连接,循环体内进行try-catch操作。

6、嵌套使用try-catch,或者try-catch后面没有finally操作。

7、不对数组下标作范围校验。

8、equals操作时没有将常量放在equals操作符的左边。

9、字符串转化为数字时没有做异常处理。

10、没有在异常分支记录日志导致问题定位困难。
sunnyan123 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 jingxiaobo1987 的回复:]
引用 15 楼 sunnyan123 的回复:
这好像在编译的时候是没有问题的,只是在运行的时候就会体现

编译的时候,编译器不会检查空指针异常。学习了沙发的解释哈
我们比较两个书相等否 也应该这样写 1==i 而不是 i==1.因为我们很可能写成i=1(永远为真)而写成1=i,编译会报错
[/Quote]说实在的这个我还真是有点看不懂!看来只有有一天麻烦找上身的时候就有点教训了!好好学习
jingxiaobo1987 2011-05-08
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 sunnyan123 的回复:]
这好像在编译的时候是没有问题的,只是在运行的时候就会体现
[/Quote]
编译的时候,编译器不会检查空指针异常。学习了沙发的解释哈
我们比较两个书相等否 也应该这样写 1==i 而不是 i==1.因为我们很可能写成i=1(永远为真)而写成1=i,编译会报错
=PNZ=BeijingL 2011-05-08
  • 打赏
  • 举报
回复
如果当str为null的话 "12345".equals(str)不会报空指针异常,而str.equals("12345")会报异常。
sunnyan123 2011-05-08
  • 打赏
  • 举报
回复
这好像在编译的时候是没有问题的,只是在运行的时候就会体现
sunnyan123 2011-05-08
  • 打赏
  • 举报
回复
测试了一下,的确会报出异常
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 sunnyan123 的回复:]

那为什么我在Myeclipse中测试时,这两个都没有报什么异常
[/Quote]

因为你那个字符串变量有值呗
sunnyan123 2011-05-07
  • 打赏
  • 举报
回复
那为什么我在Myeclipse中测试时,这两个都没有报什么异常
涅槃 2011-05-07
  • 打赏
  • 举报
回复
长见识了,还真没想到
Inhibitory 2011-05-07
  • 打赏
  • 举报
回复
"12345".equals(str)好一些,避免了空指针造成的异常
draling 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pl3121605999 的回复:]
如果当str为null的话 "12345".equals(str)不会报空指针异常,而str.equals("12345")会报异常。。
[/Quote]
正解
ZangXT 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yewuqing007 的回复:]

引用 1 楼 pl3121605999 的回复:

如果当str为null的话 "12345".equals(str)不会报空指针异常,而str.equals("12345")会报异常。。

以前没想到呢,一直用的第二种
[/Quote]
SUN的人也没想到,没什么。
javax.xml.validation.SchemaFactoryFinder

if(schemaLanguage.equals("http://www.w3.org/2001/XMLSchema")) {
devin_jia 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pl3121605999 的回复:]

如果当str为null的话 "12345".equals(str)不会报空指针异常,而str.equals("12345")会报异常。。
[/Quote]
以前没想到呢,一直用的第二种
Intboy 版主 2011-05-07
  • 打赏
  • 举报
回复
楼上所说正解……
pl3121605999 2011-05-07
  • 打赏
  • 举报
回复
如果当str为null的话 "12345".equals(str)不会报空指针异常,而str.equals("12345")会报异常。。
Da嗒_Sunny 2011-05-07
  • 打赏
  • 举报
回复
楼上所言甚是
加载更多回复(3)

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧