Il s'agit probablement d'une question de base, mais je ne suis pas sûr des mots-clés à utiliser pour la rechercher.Attribuer une valeur à une variable de retour en Java
Est-il possible d'attribuer une valeur à une variable de retour en Java, quelque chose comme ça:
static int a[] = new int[2];
static int f(int i) {
return a[i];
}
static void main() {
f(1) = 0; // <-- this
}
en C/C++ je peux retourner un pointeur et d'attribuer une valeur plus tard. Puisque Java fonctionne avec des références, je m'attendrais à ce que le code ci-dessus fonctionne. Ai-je manqué un concept Java important ici?
** Non, Non, Non **. Les références Java sont des références * non * C++. Ne confondez pas les deux. Les références Java sont plus proches des pointeurs C/C++ (sauf qu'elles sont traitées de manière opaque, déréférencées automatiquement et font toujours référence à un objet * valide *). –
Les références Java sont transmises par valeur. Voir http://www.javadude.com/articles/passbyvalue.htm – Triztian
@pst Euh, c'est exactement ce que dit Dimath dans la question, non? "En C/C++ je peux retourner un pointeur et lui assigner une valeur plus tard"? – melpomene