mybatis的mapper.xml文件中if 标签里 list.size 和list.size()区别

今天写代码时 有个很困惑我得地方,有的老表写得代码判断集合大小 用得是.size() 有的用的是size 没有小括号,而且能正常使用 饿妹英~

通过各方资料和各个渠道查询才知道 

mybatis mapper xml 文件中使用了OGNL表达式

官方有介绍 OGNL - Apache Commons OGNL - Language Guide

OGNL 提供了一些集合的特殊属性。这样做的原因是集合不遵循 JavaBeans 模式进行方法命名;因此,size()、length()等。必须调用方法,而不是更直观地将这些方法称为属性。OGNL 通过公开某些伪属性(就好像它们是内置的一样)来纠正此问题

说直接的把 就是ognl 这个表达式 他为了让直接的 表达式更有说服力或者容错性更强 才把 这些特殊的方法 size()、length()等 作为一个特殊的属性放在表达式里,单最终还是通过这个属性调用的 size(),length() 方法

综上所述:list.size()和list.size 还是有一定的区别的但是最终实现的效果是一样的

喜欢用那个就选那个,个人意见感觉还是方法就是带括号的,推荐使用带括号的方法,不要浪猥琐发育;

猜你喜欢

转载自blog.csdn.net/sinat_37792529/article/details/131681985