专注于Java领域优质技术,欢迎关注
作者:肥朝
前言
很多人都有一个疑惑,为什么面试都喜欢问原理,问源码.但是实际工作根本用不上,也就是大家常说的,面试造火箭,进去拧螺丝.我身边也有不少朋友问过我,我给他们的回答是.如果不看源码,不懂原理,出了问题你怎么解决?他们给我的答复基本都是两个字:"搜索"。
也确实,工作中大部分问题通过复制错误信息搜索都能解决,加上现在框架越来越多,拼积木式的编程方式加上搜索引擎,让越来越多人产生了开发是件很容易的事的错觉.我也一直想举一个搜索几乎搜不到,要看源码才能弄懂其中缘由的例子.
![c05d460294e44eaa2f73a080798c26a6.png](https://i-blog.csdnimg.cn/blog_migrate/19f1e1c34522e4321a241a8134ab197b.jpeg)
正巧这件事发生在了去年8月份,我一个很好的朋友问了我这么个问题,他说
为什么我传的是空字符串,但是用Mybatis的if标签判断该空字符串 == 0 竟然是成立的
![2346148eb1d42eeb38f2ee53e5b7fe53.png](https://i-blog.csdnimg.cn/blog_migrate/21aa724ffa75ff4fa8d74b0a8ec0ab7f.jpeg)
从我们的认知上来说,一个 空字符串 和 一个数字0是不可能相等的.所以我第一反应是,他是不是用法不对?或者是他的业务代码其他地方干扰到了? 于是我决定写了个最简单的demo来进行测试.如下