请问生成getter时命名依据是什么呀?

问题描述

请问生成getter时命名依据是什么呀?

如图:


最早认为所有的getter生成都是把首字母大写,前面加上get前缀即可。
但是后来发现不是这么回事,详细观察一下吓一跳,不但boolean类型的会变成is前缀,而且如果第二个字母大写,第一个字母就不变大写了!
这样就很迷惑,究竟生成getter的依据是什么呢,有没有一个通则啊?
因为我想写一个东西,可能会用到EL表达式那样的需求,通过给定的属性名寻找其get方法,如果无法确定通则,做出来的东西就不能保证质量啦

解决方案

getter方法由JavaBean规范决定,是被定死的。规则其实也就是三条。
如果私有属性为boolean值,则写成is+Xxx(注意,属性名称首字母自动大写)
如果私有属性为其他类型,则设置器写为set+Xxx获取器写为get+Xxx(同样注意字母的大小写。)
如果私有属性的第2个字线大写,则无论是is,还是set或get,后面的属性名字均原样照抄(不改变大小写顺序)

解决方案二:

如果你的ide是eclipse,请在参数页中java>code template 中添加prefix和suffix,之后再让eclipse生成getter setter时它就知道你的s 只是个前缀,生成方法名时会忽略它。

解决方案三:

个人理解:命名只是个规范问题,一般的变量命名是小写,如果是几个单词拼接起来的,从第二个word开始每个word的开头第一个字母大写。get/set方法就是get+变量名,这时候变量名的第一个字母大写。

解决方案四:

现在不流行在java中使用类型前缀,至少eclipse sun 自己的源码都是如此,现在工具能力强大都会自动验证类型,没多少人还用记事本写代码的。

时间: 2024-10-28 11:09:12

请问生成getter时命名依据是什么呀?的相关文章

pdf-iTextSharp 生成PDF时,出现异常:outofmemoryexception

问题描述 iTextSharp 生成PDF时,出现异常:outofmemoryexception 如题,我在用iTextSharp 生成PDF时,Doument对象的Add方法出现异常:outofmemoryexception,内存溢出. 前面我定义了一个document和table: iTextSharp.text.Document document = iTextSharp.text.Document(); iTextSharp.text.Table table = new iTextSha

Eclipse不可不知的用法之一:自动生成Getter、Setter和构造方法

(1)POJO类自动生成Getter和Setter方法: Persion.java原来的代码: 在上面代码的空白处点右键,或者在Person类名上点右键 -> Source –> Generate Getters and Setters,如下图: 接着,在Generate Getters and Setters对话框中,将Persion的属性id和name钩上,或直接点击 "Select All"按钮将所有属性选中,点OK即行.

php生成xml时添加CDATA标签的方法

 本文实例讲述了php生成xml时添加CDATA标签的方法.分享给大家供大家参考.具体实现方法如下: 其实php生成xml时添加CDATA标签方法非常的简单,因为是一个在xml中可以存储各种内容的标签了,下面整理了一个例子希望对各位有帮助. 有码有真相,贴上代码,大家不要把<![CDATA[ $text]]>当成前后缀,其实它可以是标签.   具体代码如下: 代码如下: <?php $dom = new DOMDocument("1.0"); // display d

php生成xml时添加CDATA标签

 php生成xml时添加CDATA标签方法非常的简单,因为是一个在xml中可以存储各种内容的标签了,下面整理了一个例子希望对各位有帮助. 贴上代码留住伤疤,不要把<![CDATA[ $text]]>当成前后缀,其实它可以是标签.   代码如下 <?php $dom = new DOMDocument("1.0"); // display document in browser as plain text // for readability purposes head

用exe4j生成exe时出错 求大神帮忙

问题描述 用exe4j生成exe时出错 求大神帮忙 java.lang.ExceptionInInitializerError at init.ContextFactory.getContext(ContextFactory.java:17) at window.ExitDialog.(ExitDialog.java:38) at window.ExitDialog.main(ExitDialog.java:96) at sun.reflect.NativeMethodAccessorImpl.

contOS服务器配置https,项目使用的是tomcat容器。请问生成的流程是什么?

问题描述 contOS服务器配置https,项目使用的是tomcat容器.请问生成的流程是什么? contOS服务器配置https,项目使用的是tomcat容器.请问生成的流程是什么?用到的证书是公司申请的!谢谢了 解决方案 修改tomcat配置文件server.xml <Connector port=""8443"" protocol=""HTTP/1.1"" SSLEnabled=""true&q

javaweb-jacob 生成word时提示 内存不足

问题描述 jacob 生成word时提示 内存不足 环境是:win2008 r2 jdk: 1.7(64bit) tomcat: tomcat7.0(64bit) com.jacob.com.ComFailException: Invoke of: Add Source: Microsoft Word Description: 内存不足,请现在保存文档. at com.jacob.com.Dispatch.invokev(Native Method) at com.jacob.com.Dispa

hibernate spring-hibernate hbm2ddl自动生成表时如何生成父类的属性

问题描述 hibernate hbm2ddl自动生成表时如何生成父类的属性 子类Master 父类BaseVo 属性 /**创建时间/ public Date TCreateTime; /**创建人/ public String CCreateCde; Master extends BaseVo 利用hibernate hbm2ddl 自动创建表时如何让Master对应的表生成字段 TCreateTime和CCreateCde

java-[小白上路]用batik生成svg时path(svg路径)怎么添加?

问题描述 [小白上路]用batik生成svg时path(svg路径)怎么添加? d怎么添加?