事件起因
今天在cv代码的时候发现了一个问题,以前的一些封装的包里面,很多的方法他们都是自己写get,set方法的,但是有些get方法又想要使用自己的,所以我就产生了好奇,如果同时使用自己写的get方法,然后又在这个实体添加了@Data的注解,那么在调用get方法时它会使用哪个?
给实体添加了@Data注解

然后在实体的后面又写上了自己的get方法来对性别列定义自己的返回值

环境和工具
idea2023
java8 open jdk
执行结果
在接口的controller 里面进行测试它打印的内容是哪个是数字1还是对应的男女性别

打印出来的结果列是女,所以得出结论:
如果@Data注解和自己定义的set、get方法同时使用时(当然你记得要驼峰式,比如说gender属性就是setGender和getGender),那么自己定义的方法才会被使用(前提是你和@Data注解生成的方法得同名才行)
结束语
若是对你有所帮助的话,希望能获得你的 点赞、评论、收藏,这将是对我很大的鼓励!!! 这对我真的很重要!!!
蟹蟹٩(‘ω’)و

当在Java实体类中同时使用@Data注解和自定义的get、set方法时,若方法同名,自定义的方法将会被优先使用。文章通过在IDEA中使用Java8和OpenJDK进行测试,展示了即使实体类有@Data注解,若存在同名的自定义get方法,如getGender,该自定义方法将用于接口控制器中的调用,返回自定义的性别值而非数字ID。
1万+

被折叠的 条评论
为什么被折叠?



