Javaでクラスのget/setメソッドを呼び出すときにクラス属性名を取得することができれば誰でも私を明確にしてもらえますか?
オンラインでリフレクションコンセプトを使用してクラス属性名を取得できることがわかりました。Java - getメソッドが呼び出されたときにクラス属性名を取得
マイ状況:
は、属性値が空/ nullである場合には、空のヌル/の属性の値をチェックする方法を記述し、属性名を返すようにしようとしています。
例:
クラス:
public class MyClass {
private appName;
public void setAppName(String appName) {
this.appName = appName;
}
public String getAppName() {
return this.appName;
}
}
検証方法:
public String validateForNull(MyClass myclass) {
String name = myclass.getAppName();
if(name == null || name.isEmpty()) {
return //here I want to return attributeName which will be "appName"
}
}
属性名を表す定数文字列を返すことが、このアプローチの方がはるかに簡単できちんとした方法であることに気付きました。しかし、私はそれがバリデーションメソッドがクラスオブジェクトを取り、ヌル/空のすべての/指定された属性をチェックし、ヌル/空の値の場合は属性名を返す一般的な方法として、それを行うことができるかどうか疑問に思っていました。
ありがとうございます。
それは正確に何をしたい私には特に明確ではないのですが、私は何かを理解すれば、これは([ビーン検証]のいくつかの並べ替えのように聞こえますhttp://beanvalidation.org/2.0/spec/)ケース。私が正しいとすれば、Bean検証APIを直接使用するか、実装の1つでアイデアを探すことができます。 –