文档章节

java中判断对象为null时,null在前面还是后面

踏破铁鞋无觅处
 踏破铁鞋无觅处
发布于 05/07 00:12
字数 510
阅读 36
收藏 1

因为目前只学习并使用java语言,所以这里主要是根据java来说的

Java中对null进行判断放在前后没有什么区别,只是为了代码规范,为了避免写代码时书写错误。

下面面两个测试Demo都没有报错。null放在前面是为了避免少写一个"=","null="书写会报错,防止笔误写成"=null"时检查不出来。

    @Test
    public void testDemo1() {
        String str = null;
        if (str == null) {
            System.out.println("null在后");
            return;
        }
    }

    @Test
    public void testDemo2() {
        String str = null;
        if (null == str) {
            System.out.println("null在前");
            return;
        }
    }

下面面两个测试Demo都没有报错。null放在前面是为了避免少写一个"=","null="书写会报错,防止笔误写成"=null"时检查不出来。

那么说这句原因呢,我自己当然是不知道,所以就在网上查了一下别人的讲解

null==a是以前C语言的写法,因为C允许if(a=null)这种判断,但这个其实是少写了个=
所以c开发的人员为了避免这问题,就出现了null==a的写法,因为这样一旦漏写了个=号,编译器就会编译不通过
但这在Java和c#这种面向对象的语言里面是不需要的,因为少个=号,不管java还是C#都是编译错误

总结

Java中对null进行判断放在前后没有什么区别,只是为了代码规范,为了避免写代码时书写错误(建议将null放在前面,并不强制)。

参考博客:https://blog.csdn.net/banjw_129/article/details/80845652

参考问答:https://bbs.csdn.net/topics/392076518

© 著作权归作者所有

上一篇: 只希望
下一篇: Jquery的toggle函数
踏破铁鞋无觅处

踏破铁鞋无觅处

粉丝 5
博文 108
码字总数 34050
作品 0
海淀
程序员
私信 提问
eagle Java空字符串与null的区别和判断字符串是否为空的方法

Java空字符串与null的区别: 1、类型 null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null ; ""表示的是一个空字符串,也就是说它的长度为0。例如声明一...

Jack088
03/29
7
0
Java拾遗:001 - 重写 equals 和 hashCode 方法

重写equals方法 在Java中Object类是一个具体类,但它设计的主要目的是为了扩展,所以它的所有非final方法,都被设计成可覆盖(override)的。但任何一个子类在覆盖这些方法时都应遵守一些通用...

一别丶经年
2018/08/02
107
0
CommonLang3中的StringUtils最全解析

isEmpty 常用函数之一,判断字符串是否为""或者null isNotEmpty 最常用函数之一,跟上面方法相对 isAnyEmpty 任意一个参数为空的话,返回true,如果这些参数都不为空的话返回false。 在写一些...

丌官尚雄
02/21
26
0
Java并发编程之ThreadLocal内存泄漏探究

使用 ThreadLocal 不当可能会导致内存泄露,是什么原因导致的内存泄漏呢? 我们首先看一个例子,代码如下: / Created by cong on 2018/7/14. */public class ThreadLocalOutOfMemoryTest { ...

狂小白
2018/07/14
0
0
Java并发编程笔记之ThreadLocal内存泄漏探究

使用 ThreadLocal 不当可能会导致内存泄露,是什么原因导致的内存泄漏呢? 我们首先看一个例子,代码如下: / Created by cong on 2018/7/14. */public class ThreadLocalOutOfMemoryTest { ...

狂小白
2018/07/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
134
7
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
18
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
10
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部