Bonsoir à tous,

Je débute en Java et en Orienté Objet et dans le cadre d'un projet j'ai besoin de mettre à jour la valeur d'un objet via une méthode static.

Je poste ci-dessous un exemple similaire à mon coder pour expliquer plus facilement mon problème :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class TestInteger {
	private Integer i;
 
	public TestInteger() {
		i = new Integer(1);
		System.out.println(i); // -> 1
		setValue();
		System.out.println(i); // -> 1
	}
 
public void setValue() {
		IntegerLoader.loadInteger(i);
	}
 
public static void main(String[] args) {
	new TestInteger();
	}
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
public class IntegerLoader {
 
	public static void loadInteger(Integer i) {
		i = new Integer(2);
	}
}
Mon problème est que je souhaite mettre à jour la valeur d'un objet (i, ici) via setValue() qui appelle une méthode static d'une autre classe.

Or la valeur de i n'est que changée localement dans la méthode loadInteger() et dans mon véritable code, je n'ai pas la possibilité de faire de return.

La seconde classe ne possédant pas de constructeur et n'étant pas destinée à en posséder un, je ne sais pas comment m'y prendre pour que la valeur de mon objet i soit bien mise à jour dans la classe appelante.


Merci d'avance,
Zedd.