其他分享
首页 > 其他分享> > 为什么boolean 类型的字段不建议使用is开头?

为什么boolean 类型的字段不建议使用is开头?

作者:互联网


对于非boolean类型的参数,getter和setter方法命名的规范是以get和set开头 对于boolean类型的参数,setter方法是以set开头,但是getter方法命名的规范是以is开头 包装类自动生成的getter和setter方法的名称都是getXXX()和setXXX()

 

1.其实javaBeans规范中对这些均有相应的规定,基本数据类型的属性,其getter和setter方法是getXXX()和setXXX,但是对于基本数据中布尔类型的数据,又有一套规定,其getter和setter方法是isXXX()和setXXX。但是包装类型都是以get开头

 

2.这种方式在某些时候是可以正常运行的,但是在一些rpc框架里面,当反向解析读取到isSuccess()方法的时候,rpc框架会“以为”其对应的属性值是success,而实际上其对应的属性值是isSuccess,导致属性值获取不到,从而抛出异常。

 

总结

 

1、boolean类型的属性值不建议设置为is开头,否则会引起rpc框架的序列化异常。

 

2、如果强行将IDE自动生成的isSuccess()方法修改成getSuccess(),也能获取到Success属性值,若两者并存,则之后通过getSuccess()方法获取Success属性值。

标签:boolean,getter,开头,类型,setter,方法,属性
来源: https://www.cnblogs.com/lemperor/p/16318123.html