in realtà, io in disaccordo con il resto delle risposte. Il JLS §15.7 a cui le persone si riferiscono fa riferimento alla valutazione degli operandi. Cioè, nell'espressione
x = foo() - 1 + bar()
, in cui verrà richiamato il metodo.
La sezione rilevante è §15.7.3, che specifica
Un'implementazione non possono usufruire delle identità algebriche come la legge associativa per riscrivere le espressioni in una più conveniente ordine computazionale a meno che può essere provato che l'espressione sostituzione è equivalente in valore ed effetti collaterali osservabili [...]
da th L'espressione x = x - 1 + q
è equivalente in tutti i modi a x = x + q - 1
, un'implementazione conforme è autorizzata a riscrivere l'espressione (se per qualche motivo dovrebbe decidere che è più efficiente).
fonte
2012-01-31 15:13:33
Non è rilevante, ma che cos'è 'input'? –
@SoboLAN un errore di battitura .. – Pacerier
@Pacerier - questo non è un [breve, autonomo, corretto (compilabile), esempio] (http://sscce.org). Non è autonomo (non esiste alcuna delcaricazione di classe, né principale). Non è compilabile (conteneva un refuso - lo hai copiato e incollato?). –