为什么Java方法名称如此广泛地使用“get”前缀?至少在我的Java程序中,有很多名称以“get”开头的方法。获取方法的百分比非常高。我开始觉得“得到”这个词由于通货膨胀而失去了意义。这是我的代码中的噪音。我注意到在函数式/声明式编程和PL/SQL中使用了不同的命名约定。方法名称只是说明方法返回的内容。他们将使用account.amount()和Time而不是account.getAmount()或Time.getIsoFormattedDateString(Datedate)。isoFormattedDateString(日期日期)。这对我来说非常有意义,因为函数的名称描述了评估方
为什么Java方法名称如此广泛地使用“get”前缀?至少在我的Java程序中,有很多名称以“get”开头的方法。获取方法的百分比非常高。我开始觉得“得到”这个词由于通货膨胀而失去了意义。这是我的代码中的噪音。我注意到在函数式/声明式编程和PL/SQL中使用了不同的命名约定。方法名称只是说明方法返回的内容。他们将使用account.amount()和Time而不是account.getAmount()或Time.getIsoFormattedDateString(Datedate)。isoFormattedDateString(日期日期)。这对我来说非常有意义,因为函数的名称描述了评估方
我确实尝试过搜索这个,但老实说,实际搜索的字词让我无法理解。一个小代码片段,后面是问题。PublicclassPerson{StringfirstName;StringlastName;publicvoidsetFirstName(StringfirstName){this.firstName=firstName;}publicStringgetFirstName(){returnfirstName;}...}在另一个使用此人对象的对象中,我希望能够扩展Intellij中的所有setter方法。publicclassPersonAssembler{publicstaticPersona
我确实尝试过搜索这个,但老实说,实际搜索的字词让我无法理解。一个小代码片段,后面是问题。PublicclassPerson{StringfirstName;StringlastName;publicvoidsetFirstName(StringfirstName){this.firstName=firstName;}publicStringgetFirstName(){returnfirstName;}...}在另一个使用此人对象的对象中,我希望能够扩展Intellij中的所有setter方法。publicclassPersonAssembler{publicstaticPersona
当我从XSD生成JAXB类时,具有maxOccurs="unbounded"的元素会获得为它们生成的getter方法,但没有setter方法,如下所示:/***Getsthevalueoftheelement3property.***Thisaccessormethodreturnsareferencetothelivelist,*notasnapshot.Thereforeanymodificationyoumaketothe*returnedlistwillbepresentinsidetheJAXBobject.*Thisiswhythereisnotasetmethodfort
当我从XSD生成JAXB类时,具有maxOccurs="unbounded"的元素会获得为它们生成的getter方法,但没有setter方法,如下所示:/***Getsthevalueoftheelement3property.***Thisaccessormethodreturnsareferencetothelivelist,*notasnapshot.Thereforeanymodificationyoumaketothe*returnedlistwillbepresentinsidetheJAXBobject.*Thisiswhythereisnotasetmethodfort
privatedoublevalue;publicsynchronizedvoidsetValue(doublevalue){this.value=value;}publicdoublegetValue(){returnthis.value;}在上面的例子中,让getter同步有什么意义吗? 最佳答案 我认为最好引用JavaConcurrencyinPractice这里:Itisacommonmistaketoassumethatsynchronizationneedstobeusedonlywhenwritingtosharedv
privatedoublevalue;publicsynchronizedvoidsetValue(doublevalue){this.value=value;}publicdoublegetValue(){returnthis.value;}在上面的例子中,让getter同步有什么意义吗? 最佳答案 我认为最好引用JavaConcurrencyinPractice这里:Itisacommonmistaketoassumethatsynchronizationneedstobeusedonlywhenwritingtosharedv
所以,直到最近,我才任性地给自己保留了一个Javan00b,而我第一次真正的曝光带来了一个小小的震惊:Java没有C#样式的属性!好吧,我可以忍受。但是,我也可以发誓,我在一个代码库中看到了Java中的属性getter/setter代码,但我不记得在哪里。那是如何实现的?有语言扩展吗?是不是和NetBeans有关系? 最佳答案 Java中有一个用于getter和setter的“标准”模式,称为Beanproperties.基本上任何以get开头的方法,不带参数并返回一个值,是一个属性getter,用于命名为方法名称其余部分的属性(带
所以,直到最近,我才任性地给自己保留了一个Javan00b,而我第一次真正的曝光带来了一个小小的震惊:Java没有C#样式的属性!好吧,我可以忍受。但是,我也可以发誓,我在一个代码库中看到了Java中的属性getter/setter代码,但我不记得在哪里。那是如何实现的?有语言扩展吗?是不是和NetBeans有关系? 最佳答案 Java中有一个用于getter和setter的“标准”模式,称为Beanproperties.基本上任何以get开头的方法,不带参数并返回一个值,是一个属性getter,用于命名为方法名称其余部分的属性(带