Tout cela fonctionnerait certainement. Personnellement, pour ce problème particulier, j'adopterais probablement une approche un peu différente. Peut-être quelque chose comme ça :
class MyClass {
public Point point1, point2, point3;
private Point[] points;
public MyClass() {
//...
this.points = new Point[] {point1, point2, point3};
}
public void DoSomethingWith(int i) {
Point target = this.points[i+1];
// do stuff to target
}
}
Lorsque vous utilisez des modèles comme celui-ci, vous devez faire attention à ce que vos données soient stockées par référence et non par valeur. En d'autres termes, ne faites pas cela avec des primitives. Vous devez utiliser leurs grands homologues de classe gonflés.
J'ai réalisé que ce n'était pas exactement la question, mais la question a été assez bien répondue et j'ai pensé qu'une approche alternative pourrait peut-être aider.