首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当第一个单词的第二个字母大写时,letter /letter

当第一个单词的第二个字母大写时,letter /letter
EN

Stack Overflow用户
提问于 2014-10-06 21:11:08
回答 3查看 2.6K关注 0票数 6

我们应该从以下名称中期望什么?:mGage Program

如果我camelCase,它将是mGageProgram,如果我生成(在eclipse中)getter和setter,我将得到以下内容:

代码语言:javascript
复制
public String getmGageProgram() {
    return mGageProgram;
}

public void setmGageProgram(String mGageProgram) {
    this.mGageProgram = mGageProgram;
}

在我看来,这似乎不对,因为我期待的是getMGageProgram()setMGageProgram(value)

这些getter/setter的名字还好吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-06 21:14:52

根据 8.8: Capitalization of inferred names of the JavaBeans API specification,从IDE 生成的名称是正确的

票数 3
EN

Stack Overflow用户

发布于 2014-10-06 21:14:04

它们是100%正确的:)但是程序员之间的约定是不同的,对我来说,它的方法名是camel大小写而不是变量。至于语法,它是正确的:)

票数 3
EN

Stack Overflow用户

发布于 2020-01-30 18:57:32

我想提供一些更深入的规格说明。它指定了如何从getter和/或setter的名称获得属性名。在这方面有趣的引语是:

…为了支持偶尔使用所有大写名称,我们检查名称的前两个字符是否都是大写字母,如果是的话,不要使用大写名称。

它来自8.8节:推断名称的大写。

给出的一个例子是URL (如getURLsetURL)变成(或停留) URL (而不是uRL)。

因此,您和我所期望的方法名称,getMGageProgramsetMGageProgram,将意味着一个名为MGageProgram的属性,其大写为M。因为我们想要mGageProgram,所以我们需要在getter和setter的名称中使用小写m

因此,我所读的规则确实允许您在getset之后以任何getter或setter的名称使用小写字母。这对我来说是个奇怪的惊喜。当然,在没有必要的情况下,这不是我们想要利用的选项。

链接: JavaBeans规范下载页面

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26224938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档