java中的equals什么意思 怎么使用?
在我们的JAVA开发中,经常 会用到一个方法:equals。一个字符串的比较方法,我们习惯的写:
Java代码
if (b.equals(a)) {
...
}
还有一个我们经常遇到的 java.lang.NullPointerException ,呵呵,这个是所有开发者遇到最多最常见的异常,
一种很常见的写法,但是昨天在论坛上看到一位哥们发了一个 java.lang.NullPointerException的错误 ,用到的是equals这个方法,这个错得有点离奇,表面 看没有什么问题:代码大概是这样的:
Java代码
if (str.equals("")) {
...
}
其中他的str变量是从JSP页面传上来的变量值,咋一看这个地方不会出空异常啊。是啊。刚开始我也觉得,然后copy代码去运行一下,仔细查看,有问题,如果这个时候 str 变量值为 Null,那么,这个错误 就不奇怪了。
我的实验是这样 ,先定义一个变量a,模拟我们已知的变量,然后再定义 一个变量b,模拟我们从页面上传上来的值,
然后方法这样写:
Java代码
public static void main(String args[]){
String a="a";//这个是已知的变量
String b="aaaaaaaaa";//这个是模拟页面传上来的变量
if (b.equals(a)) {
System.out.println("相等");
} else {
System.out.println("不相等");
}
}
正常情况下,两个变量都有值,那么程序不会出问题,但是如果这个时候b的值为Null,这个就有趣了,b这个变量直接为Null,然后再去调用这个Null对象的equals方法,直接就异常!这样我们就要考虑我们程序的健壮性,"".equals(str)和str.equals("")两个选择,"".equals(str)固然更保险。从开始学习编程到现在, java.lang.NullPointerException 从未停止出现,各式各样的Null,都已成为我们的口头禅,殊不知,Null,有时候不仅仅是Null,去发现这些细节,我们的程序才能跑得更稳定 。
版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。
【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!
Java开发高端课程免费试学
大咖讲师+项目实战全面提升你的职场竞争力
- 海量实战教程
- 1V1答疑解惑
- 行业动态分析
- 大神学习路径图
相关推荐
更多2024-04-08
2024-04-02
达内就业喜报
更多>Java开班时间
-
北京 丨 11月27日
火速抢座 -
上海 丨 11月27日
火速抢座 -
广州 丨 11月27日
火速抢座 -
兰州 丨 11月27日
火速抢座 -
杭州 丨 11月27日
火速抢座 -
南京 丨 11月27日
火速抢座 -
沈阳 丨 11月27日
火速抢座 -
大连 丨 11月27日
火速抢座 -
长春 丨 11月27日
火速抢座 -
哈尔滨 丨 11月27日
火速抢座 -
济南 丨 11月27日
火速抢座 -
青岛 丨 11月27日
火速抢座 -
烟台 丨 11月27日
火速抢座 -
西安 丨 11月27日
火速抢座 -
天津 丨 11月27日
火速抢座 -
石家庄 丨 11月27日
火速抢座 -
保定 丨 11月27日
火速抢座 -
郑州 丨 11月27日
火速抢座 -
合肥 丨 11月27日
火速抢座 -
太原 丨 11月27日
火速抢座 -
苏州 丨 11月27日
火速抢座 -
武汉 丨 11月27日
火速抢座 -
成都 丨 11月27日
火速抢座 -
重庆 丨 11月27日
火速抢座 -
厦门 丨 11月27日
火速抢座 -
福州 丨 11月27日
火速抢座 -
珠海 丨 11月27日
火速抢座 -
南宁 丨 11月27日
火速抢座 -
东莞 丨 11月27日
火速抢座 -
贵阳 丨 11月27日
火速抢座 -
昆明 丨 11月27日
火速抢座 -
洛阳 丨 11月27日
火速抢座 -
临沂 丨 11月27日
火速抢座 -
潍坊 丨 11月27日
火速抢座 -
运城 丨 11月27日
火速抢座 -
呼和浩特丨11月27日
火速抢座 -
长沙 丨 11月27日
火速抢座 -
南昌 丨 11月27日
火速抢座 -
宁波 丨 11月27日
火速抢座 -
深圳 丨 11月27日
火速抢座 -
大庆 丨 11月27日
火速抢座