parámetros de cambio dentro de methodeheaders

NameOfNames:

He encontrado algo de código de edad dentro de un proyecto de edad. No entiendo cómo funciona. Vamos a ver.

public class Test{

int someNumber = 1337;

public void someMethode(){
    calledMethode(someNumber, someNumber=42);
  }

public void calledMethode(int _oldValue, int _newValue) {
    System.out.println("Show _oldValue: "+_oldValue);
    System.out.println("Show _newValue: "+_newValue);
  }
}

Yo esperaba que el resultado es:

Show _oldValue: 42
Show _newValue: 42

De hecho me dieron el siguiente resultado:

Show _oldValue: 1337
Show _newValue: 42

¿Por qué está pasando esto? Gracias por su ayuda y tienen un buen día.

Martin'sRun:

Se espera que el resultado, la razón se evalúan son subexpresiones izquierda a derecha.

class Test1 {
    public static void main(String[] args) {
        String s = "going, ";
        print3(s, s, s = "gone");
    }
    static void print3(String a, String b, String c) {
        System.out.println(a + b + c);
    }
}

Da resultado: va, se va, se ha ido

Consulte la https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.7.4

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=313807&siteId=1
Recomendado
Clasificación