首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

为什么不建议你用去 “ ! = null 做判空?

他们总喜欢在方法中返回null,因此,在调用这些方法时,也不得不去判空。另外,也许受此习惯影响,他们总潜意识地认为,所有的返回都是不可信任的,为了保护自己程序,就加了大量的判空。...这种情况下,null是个”看上去“合理的值,例如,查询数据库,某个查询条件下,就是没有对应值,此时null算是表达了“空”的概念。...这里给一些实践建议: 1、假如方法的返回类型是collections,当返回结果是空时,你可以返回一个空的collections(empty list),而不要返回null,这样调用侧就能大胆地处理这个返回...如果你养成习惯,都是这样写代码(返回空collections而不返回null),你调用自己写的方法时,就能大胆地忽略判空) 2、返回类型不是collections,又怎么办呢?...3、如果你想返回null,请挺下来想一想,这个地方是否更应该抛出一个异常

95710

Mybatis查询结果为空时,为什么返回值为NULL或空集合?

开始前我们先看一个问题: 你是否曾经在学习 Mybatis 的时候跟我有一样的疑问,什么情况下返回 null,什么时候是空集合,为什么会是这种结果?那么你觉得上述这种回答能说服你嘛?...想应该不能吧,除非亲眼所见,否则真的很难确认别人说的是对还是错(毕竟网上的答案真的千奇百怪,啥都有,已经不是第一次发现一些错误的说法被广泛流传了),那么这篇文章我们就简单的分析一下。...看完这篇你就知道查询结果为空时候为什么集合会是空集合而不是 NULL,而对象为什么会是 NULL 了。 PS:对过程不感兴趣的可以直接跳到最后看结论。...最后返回映射的结果对象,如果没有映射任何属性,则需要根据全局配置决定如何返回这个结果值,这里不同场景和配置,可能返回完整的结果对象、空结果对象或是 null。...而且如果是 Map 作为返回值的话,那直接是返回NULL 好吧,简直是错的离谱!

5K20

攻克的技术难题:深入解析 JackJSON 底层原理及个性化处理返回值中的默认 null

最近我们的项目有一个需求,需要对后端返回给前端的JSON格式进行规范化处理。要求不能缺少任何字段,并且字段的值不能为null。...首先,我们可以定义一个bean来处理返回结果,并创建一个简单的controller来接收请求。博主不再详细编写这两个类。下面是返回的结果。...的了,如果不配置的话,默认是返回null //因为_nullSerializer是有默认值的,大家看一看这个类的初始化 //那我们要是改一下_nullSerializer...同时,我们还返回了一个list类型的BeanPropertyWriter,这就解释了为什么在解析时,该BeanPropertyWriter是一个数组类型,因为不同字段的解析方式是不同的。...这些问题都是在遇到需求后自己提出并通过查看源码来回答的。希望大家也能理解源码。源码是最好的老师,但是也不要太沉迷于此,毕竟源码的作用是提高我们的开发效率,而不是为了应对面试。

37121

PHP中那些你不知道的坑,PHP的坑,PHP漏洞

比如传入true会返回true,传入false会返回false,传入NULL返回NULL。就像欢乐农场一样种瓜得瓜,种豆得豆。...如果你传入的字符串不是标准JSON格式,或者JSON串的层数超过定义的值,又会返回NULL。...通俗点说,正常情况下json_decode()函数会返回数组,其他情况下会返回true,false,NULL。在使用这个函数时不出问题还好,只要一出问题,没认真看文档的人肯定一脸懵。...json_decode($json)函数之前有一篇文章分析过,存在hash碰撞漏洞,至今未改进。 数组类型太少之坑 PHP虽然有数组的概念,但全都是HashTable。...至于在知乎上大家说的那些问题,觉得都不是什么大问题。例如语法不美,速度不快,函数命名不规范……为什么大家都喜欢喷这几点?

95640

PHP中那些隐蔽的坑

例如 json_decode($a) 函数,正常情况下这个函数能将字符串转换成数组然后返回,但是少数情况下它会有自己的想法。...比如传入`true`会返回`true`,传入`false`会返回`false`,传入`NULL`会返回`NULL`。就像欢乐农场一样种瓜得瓜,种豆得豆。...容易把人绕晕,简单点描述就是正常情况下 json_decode($a) 函数会返回数组,其他情况下会返回`true`,`false`,`NULL`。...json_decode($json) 函数之前有一篇文章分析过,此函数存在hash碰撞漏洞,所有版本都会受到影响,至今未改进。...知乎上大家说的那些问题觉得都不是什么大问题。例如语法不美,速度不快,函数命名不规范……为什么都喜欢喷这几点?

82850

PHP实现RPC(简版)

第一次听说他, 还要在它的前边加个G, 当时以为GRPC是一项技术, 后来才知道, 并不是这样. GRPC只是RPC的谷歌实现....谷歌搜了一下, RPC就是一种: 远程函数调用, 看到这里, 已经等不及了, 不往下看了, 先自己实现一个. 如果只给你这样一个概念, 如何实现调用远程函数的功能呢?...其实对象可以通过序列化和反序列化来传输, 额, Java中, 不知道PHP有没有这种技术....WHY 看到一个技术, 一定会问的一个问题就是: 为什么? 一个技术基本不会平白无故出现, 都是为了解决某些问题, 那么RPC解决了什么问题呢?...字面含义: 远程函数调用 为什么要进行远程函数调用, 把函数拿过来本地调用不就好了? 还不用走网络IO, 速度更快一些.

1.4K10

编码之道——代码的整洁与逻辑

---- 接下来我们做一些改变,代码1-2表示的过程是:      我们6:00从学校的门口出发,你先上的士,坐后排右边,你坐后排左边,到了以后先下车,然后帮你开车门,一起走路到电影院,我们先买中间的位置...,如果两个人分开座位的我们就换一个位置,如果没有中间位置的,我们就做后排靠边,看电影时,抱着你等等。...这整个过程很简洁,可以清晰的表达了我们去看电影的过程,一些细节的问题,我们并不暴露出来,而是把他隐藏起来,并不是说我们不知道这些细节,当女朋友问我“我们是坐中间还是坐边上”,像这种细节,她问了,我们才回答...isset($_GET['json'])){ echo "can not get json from clinet"; return null...$arr; } echo "json is null, the str from clinet is not a json string";

66240

php 对象转json_php json解析

大家好,又见面了,是你们的朋友全栈君。 在PHP中,可以使用json_decode()函数来将json字符串转换为PHP对象。...json_decode()函数用于解码JSON字符串,把json字符串转成对象或数组,默认转成对象;设置函数的第二个参数为true,则可转成关联数组。...json_decode()函数是PHP中的内置函数,用于对JSON格式的字符串进行解码,可以将JSON格式的字符串转换为PHP变量(object 或 array)。...如果为true,则返回的对象将转换为关联数组。 depth:指定用户指定的递归深度。...返回值:该函数以适当的PHP类型返回编码的JSON值。如果无法解码json或编码数据的深度大于递归限制,则返回NULL。 示例: 第二个参数为 TRUE 时,将返回数组,FALSE 时返回对象。

8K20
领券