63274682374
63274682374
public static void main(String... args) {
System.out.println(getI());
}

public static int getI() {
int i = 0;
try {
return i;
} finally {
i = 1;
}
}

#javapuzzle #java

Co wypisze?

  • "0" 60.8% (31)
  • "1" 39.2% (20)

51 głosów

  • Najlepsze
  • Wszystkie komentarze
e.....y
e.....y
@63274682374: No przecież do finally wejdziemy dopiero po opuszczeniu try. Wypisze więc 0.
Mirush
63274682374
63274682374
63274682374 Autor
1
@teez: return w finally to zdecydowanie zła praktyka
63274682374
63274682374
63274682374 Autor
0
@NitaInco: akurat w tym przypadku przypisanie wartości 1 do zmiennej 'i' zostanie wykonane. Interesujące jest to czy fakt ten ma wpływ na wartość zwróconą z metody.
t.....z
t.....z
@63274682374: mówimy o zagadkach więc daje zagadkę.