1

次のフィールドを持つ Bean があります。

private String aBcde = ... ;

ゲッターは次のように書かれました:

public String getABcde() {
    return aBcde;
}

しかし

http://javasourcecode.org/html/open-source/commons-beanutils/commons-beanutils-1.8.0/org/apache/commons/beanutils/PropertyUtilsBean.java.html

「NoSuchMethodError」を報告する

質問: getter の名前が間違っていますか、それとも BeanUtils のバグですか?

Plsはこれがうまくいくことに注意してください:

public String getaBcde() {
  ...
}
4

1 に答える 1

1

http://blog.950buy.com/article/javabean-specification-on-a-few-you-should-know/によると、私の期待は間違っていたようで、

public String getaBcde() {
  ...
}

正しい。

実際、Bean Spec は次のように述べています。

「ただし、すべての大文字の名前の時折の使用をサポートするために、名前の最初の 2 文字が両方とも大文字であるかどうかを確認し、そうである場合はそのままにしておきます。たとえば、次のようになります。

  • 「FooBah」は「fooBah」になります</li>
  • 「Z」は「z」になります</li>
  • 「URL」は「URL」になります」

したがって、私の場合、プロパティ「ABcde」にマップするゲッター「getABcde」がありました。URLの例。

于 2012-12-14T11:59:50.093 に答える