[JAVA] Comportement lorsque les getters générés par lombok sont dupliqués

environnement

Vérification

J'ai résumé le comportement lorsque le getter généré par lombok est dupliqué.

Si les champs «a» et «A» existent

Les champs ʻa et ʻA génèrent tous deux une méthode appeléegetA (). Quelle valeur de champ sera obtenue en exécutant getA ()? Les résultats sont les suivants.

OneCharacter.java


/**Champs commençant par une minuscule*/
@Getter
public class OneCharacter  {

	private String a = "a";

	private String A = "A";

	public void print() {
		System.out.println(getA()); //⇒"a"
	}
}

OneCharacter.java


/**Champs commençant par une majuscule*/
@Getter
public class OneCharacter  {

	private String A = "A";

    private String a = "a";

	public void print() {
		System.out.println(getA()); //⇒"A"
	}
}

Si le champ ʻAet la méthodegetA ()` sont définis

Si le getter défini dans la classe et le getter généré par lombok ont le même nom, lequel sera appelé?

Les résultats sont les suivants.

OneCharacter.java


@Getter
public class OneCharacter  {

	public String getA() { return "getA()";}

	private String A = "A";

	public void print() {
		System.out.println(getA()); //⇒"getA()"
	}
}

OneCharacter.java


@Getter
public class OneCharacter  {

	private String A = "A";
    
	public String getA() { return "getA()";}

	public void print() {
		System.out.println(getA()); //⇒"getA()"
	}
}

Les getters définis dans la classe ont été appelés quel que soit l'ordre de déclaration.

Résumé

Postscript

Nous avons reçu un commentaire de @inabajunmr.

Le phénomène ci-dessus a été décrit dans lombok @Getter and @Setter.

You can annotate any field with @Getter and/or @Setter, to let lombok generate the default getter/setter automatically. A default getter simply returns the field, and is named getFoo if the field is called foo (or isFoo if the field's type is boolean). A default setter is named setFoo if the field is called foo, returns void, and takes 1 parameter of the same type as the field. It simply sets the field to this value.

Recommended Posts

Comportement lorsque les getters générés par lombok sont dupliqués
Comportement lorsque les noms d'annotation Java sont portés