2012-02-14 8 views
5

Eventuali duplicati:
Order of execution of parameters guarantees in Java?Metodo parametri d'ordine in Java

Se ho un metodo Java come:

public void func(byte b, byte c) {...} 

e lo uso come questo:

a = 0; 
    func(a++, a); 

Quale parametro viene superato per primo? Perché se non sbaglio, se è quello di sinistra allora b = 0 ec = 1. E se è quello giusto allora b = 0 ec = 0?

Grazie.

+1

Penso che sia una domanda interessante, ma il vantaggio è vicino allo zero. Non consiglierei di scrivere codice come questo, perché è altamente poco chiaro - altrimenti non avresti chiesto. Ma non dovrebbe essere così difficile trovare una soluzione. – Koraktor

+5

1) Non vorrei vedere questo codice in produzione. 2) Provalo. Allora lo saprai. –

+2

Non è "passato prima", è "valutato quando". Sono passati allo stesso "tempo". –

risposta