博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
equals方法中变量在前和在后的区别
阅读量:6893 次
发布时间:2019-06-27

本文共 580 字,大约阅读时间需要 1 分钟。

对于变量:String str1;

使用str1.equals("null");

对于变量str1,如果str1是null,空是没有equals方法的,会抛出空指针异常

使用"null".equals(str1);如果str1是null,最终始终返回的都是false;

建议使用官方提供的工具类:

StringUtils.equals(String str1, String str2)

工具类源码如下:

public static boolean equals(String str1, String str2)    {        return str1 != null ? str1.equals(str2) : str2 == null;    }  //忽略大小写进行比较    public static boolean equalsIgnoreCase(String str1, String str2)    {        return str1 != null ? str1.equalsIgnoreCase(str2) : str2 == null;    }

 可以看到源码利用三元表达式很好的规避了null,空指针异常这个问题

 

转载于:https://www.cnblogs.com/fly-boy/p/9029393.html

你可能感兴趣的文章
读取xml节点值生成一个实体类,读取xml所有节点值,读取所有xml所有节点名称
查看>>
RAC 归档目录不同的备份
查看>>
配置管理小报100122:能者上、平者让、庸者下
查看>>
配置管理小报100204:产品路线图
查看>>
开发 Windows RT 桌面应用(来自 Surface RT)
查看>>
iOS 6版本与之前版本差异总结
查看>>
JNI编程(二) —— 让C++和Java相互调用(1)
查看>>
memcached简介
查看>>
Ubuntu 更改 Gun Make 版本
查看>>
Service学习笔记
查看>>
idea配置git、GitHub
查看>>
Cocopods安装和升级备忘录
查看>>
如何用Python写一个贪吃蛇AI
查看>>
nginx全局变量
查看>>
今日一练习
查看>>
Kylin 在 58 集团的实践和应用
查看>>
javascript性能优化
查看>>
41. First Missing Positive
查看>>
sql的行转列(PIVOT)与列转行(UNPIVOT)
查看>>
sbt配置——数据源问题解决
查看>>