更多课程 选择中心

Java培训
美国上市教育机构

400-111-8989

Java培训

java中的equals什么意思 怎么使用?

  • 发布:小敏
  • 来源:ITeye博客
  • 时间:2019-11-21 14:30

在我们的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,去发现这些细节,我们的程序才能跑得更稳定 。

版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:盘点Java技术在生活中的10大应用
下一篇:做了这么久的程序员你知道Java和JavaScript区别吗?
JAVA多线程实现方式都有哪些?

JAVA多线程实现方式都有哪些?

对于网页设计规范你知道多少?

对于网页设计规范你知道多少?

两种Java容器类List和Set分析

两种Java容器类List和Set分析

七点建议助您写出优雅的Java代码

七点建议助您写出优雅的Java代码

选择城市和中心
贵州省

福建省

  • 达内厦门软件园中心
广西省

海南省