Javareflect-field-equals
提供:Dev Guides
java.lang.reflect.Field.equals()メソッドの例
説明
- java.lang.reflect.Field.equals(Object obj)*メソッドは、このFieldを指定されたオブジェクトと比較します。 オブジェクトが同じ場合はtrueを返します。 2つのFieldオブジェクトは、同じクラスによって宣言され、同じ名前とタイプを持っている場合、同じです。
宣言
以下は、* java.lang.reflect.Field.equals(Object obj)*メソッドの宣言です。
public boolean equals(Object obj)
パラメーター
*obj* -比較するオブジェクト。
返品
このオブジェクトがobj引数と同じ場合はtrue。それ以外の場合はfalse。
例
次の例は、java.lang.reflect.Field.equals(Object obj)メソッドの使用方法を示しています。
package com.finddevguides;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Field;
public class FieldDemo {
public static void main(String[] args) {
Field[] fields = SampleClass.class.getDeclaredFields();
boolean isEquals = fields[0].equals(fields[1]);
System.out.println("Fields are " + (isEquals?"equal.":"not equal."));
}
}
@CustomAnnotation(name = "SampleClass", value = "Sample Class Annotation")
class SampleClass {
@CustomAnnotation(name="sampleClassField", value = "Sample Field Annotation")
private String sampleField;
private String sampleField1;
public String getSampleField() {
return sampleField;
}
public void setSampleField(String sampleField) {
this.sampleField = sampleField;
}
public String getSampleField1() {
return sampleField1;
}
public void setSampleField1(String sampleField1) {
this.sampleField1 = sampleField1;
}
}
@Retention(RetentionPolicy.RUNTIME)
@interface CustomAnnotation {
public String name();
public String value();
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
Fields are not equal.