java中关于null和equals的tips
来源:互联网 发布:天体战士 知乎 编辑:程序博客网 时间:2024/06/14 13:37
Tips1-null的equals问题
一、阐述:
在java中判断两个字符串是否相等可以用 str1.equal(str2)这个方法,但值得注意的是当str1是null时,无论str2为何值这个方法会报空指针异常;str2为null,str1不为null时不会报异常。
二、解决方法:
boolean equal(string s1, string s2)
{
if(s1==null && s2==null)//均为空串
return true;
if(s1!=null && s1.equals(s2))
return true;
return false;
}
更加简洁的逻辑
boolean equal(String s1, String s2) {
if (s1 == null)
return s2 == null
else
return s1.equals(s2);
}
三、附录-对特殊字符串的讨论
System.out.println(" ".equals(null));
System.out.println("".equals(null));
System.out.println("".equals(" "));
System.out.println(" ".equals(""));
打印结果:
false
false
false
false
四、结论:“” 与“ ”以及null 三个字符串是互不相等的。
Tips2-equals和==的区别
equals方法比较的是内容是否相同;==比较的是需要比较的内容是否在内存中同一个位置。
即内容相同的不一样存在内存中的同一个位置,但是存在同一个位置的内容肯定相同。
Tips3-double与null
Double可以存成null,double不可以存成null
- java中关于null和equals的tips
- java中“”和null的区别以及==和equals的区别
- 44-关于null和equals比较的时候的问题
- 在条件表达式中null.equals(str)和str.equals(null)类似形式的区别
- 关于Java中equals()和hashCode()的用法笔记。
- 关于java中 == 和 equals 的详解
- 关于java 中 的 null。
- JAVA中关于equals的重写
- java中关于String的equals()比较
- 关于java的equals和hashcode方法
- 关于java的equals和hashcode方法
- Java Tips -- About "equals"
- java判断list为空、xxx==null和xxx.equals(null)的区别
- 关于String.equals(null)
- 一个关于java中null的讨论
- iOS中关于(null)和<null>的处理
- 关于java中控制台输入和String类“==”和“equals”的研究
- !=null和equals的区别
- 爱因斯坦出了一道题,他说世界上有98%的人回答不出(含解答思路及源代码)
- Samba3.0服务器实战调试
- 【软件工程师日语】03.仕様書(3)
- 程序员5大发展方向(从技术角度分类)
- 插件技术原理及其C#实现
- java中关于null和equals的tips
- 常用正则表达式
- dsp bootloader
- 简单的信息提示
- 关于一道面试题的源代码解答
- some materials about how to write technical articles
- html-el:optionsCollection,html-el:options,JSTL c:forEach用法比较
- HIbernate主键详解
- PocektPc2003使用蒙版图掉API合并图片