当前位置: 首页 > 面试题库 >

JavaBean约定-属性gId的方法命名

劳麒
2023-03-14
问题内容

如果我的Java类中有一个属性’gId’,该accessor方法应命名为什么?

getGId 这就是我的假设。

如果有一个属性,gURL我认为应该是getGURL,这种外观很难看(尽管这并不是指女孩的另一种拼写)。

如果该属性只是url方法名称getUrl,那么我不会首先将该属性命名为URL,这会使访问器再次变得丑陋-getURL

我记得在Javabean Specification PDF的某处读到了有关属性的大写以及涉及首字母缩略词的案例,但现在在PDF中找不到了。

有人引用它吗?请确认我的说法是否正确?


问题答案:

您可以在Beans规范的8.8节中找到您感兴趣的参考。

话虽如此,它并未明确涵盖gId/ 的特定情况gURL。规范说,要提供一个getter / setter,我们只需将首字母大写即可。要从getter
/
setter中恢复属性,如果前两个字母是大写字母,则整个属性保持原样。否则,我们将首字母大写。因此您的吸气剂将变为getGURL,但您的财产将被错误地从吸气剂中回收GURL。您也有同样的问题gId

因此,似乎该规范不允许您使用第一个小写字符后跟一个大写字符来提供任何属性的一致转换。

我的建议是采用完全小写的属性,或者将小写的前缀扩展为两个字母(glURL例如)。



 类似资料:
  • 问题内容: 我的代码中发生了一些不可思议的事情。这是Bean的代码段: 这是我的查看代码(标记文件)中的代码段 其中topic是Bean类型的对象。 这是错误: 还有一件事要考虑。蚀产生的二传手之间有细微的差别。显然,它也不喜欢cFrags这个名字。字段名称为cFrags,每隔一个设置器,我就会获得与该字段同名的参数,并使用约定对其进行设置。您会注意到,月食不符合此设置器的要求。 仅供参考:当我将

  • 问题内容: 是否有类似于JavaBeans的DAO方法的标准命名约定? 例如,我看到的一种命名约定是用来返回单个实体并返回实体列表。 如果没有,那您​​的团队正在使用什么,为什么? 问题答案: 一般我的名字在这样的方式的方法中,该名称暗示将由方法,如所施加的CRUD操作的类型,或。 可以应用于操作,例如。 可以应用于操作,例如。 可以应用于执行操作的方法。 可以应用于操作,例如。虽然我不太确定物理

  • 我是第一次尝试我的手在Firebase,我遇到了一个问题。只有在getter方法符合变量名或者成员变量是公共的情况下,才能从Firebase存储/数据库中获取数据。但是我对成员变量的命名约定是,并且我在getter方法名称中没有使用“m”。现在我有多个问题: 公开模型成员变量是可行的选择还是错误的做法?这里最好的命名方法是什么?我应该将getter方法命名为,还是应该将“m”排除在成员变量名之外?

  • 问题内容: 我正在制作一个使用Drools规划器的应用程序。 该假设指代属性从另一个类(在这种情况下)。从JavaDocs中获取@ValueRangeFromSolutionProperty: 但我注意到一个 矛盾 :在注释使用属性的。但是(与相对)是一个私有变量(请参见下面的代码段)。如果应该 通过自省 (通过它的getter和setter方法) 推断属性, 则是否应将其拼写为? 问题: Jav

  • 问题内容: 我需要比较两个对象(同一类的实例)中的许多字段,并做一些记录和更新,以防出现差异。元代码可能看起来像这样: 具有所有比较的代码非常简洁,我想以某种方式使其更紧凑。如果我有一个方法可以将setter和getter的调用作为参数并在所有字段中调用,那将是很好的,但是不幸的是,这对于Java是不可能的。 我提出了三个选择,每个选择都有其自身的缺点。 1.使用反射API来找出getter和se

  • 我希望将JavaFX属性用于UI绑定,但我不希望它们出现在我的模型类中(请参见在模型类中使用JavaFX.Beans属性)。我的模型类有getter和setter,我想基于这些创建属性。例如,假设一个实例具有和方法,我将编写 希望会触发对的调用。但这似乎不起作用。我错过了什么?