в res / values / string.xml
<resources>
<string name="app_name">Hello World</string>
<string name="my_application">Application name: %s, package name: %s</string>
</resources>
в java-коде
String[] args = new String[2];
args[0] = context.getString(R.string.app_name);
args[1] = context.getPackageName();
String textMessage = context.getString(R.string.my_application,(Object[]) args);
В основном да, за исключением примечания , перечисленного здесь (шахта акцента):
, Если JVM выходит, в то время как код попытки или выгоды выполняется, затем наконец, блок не может выполняться. Аналогично, если поток, выполняющий попытку или код выгоды, прерван или уничтожен, наконец, блок не может выполняться даже при том, что приложение в целом продолжается.
Это не гарантируется:
public class Main {
public static void main(String args[]) {
try {
System.out.println("try");
System.exit(0);
} catch (Exception e) {
System.out.println("exception");
} finally {
System.out.println("finally");
}
}
}
Выполнение это.
Одним словом, да.
Код в наконец блок в Java всегда выполняется если:
(от: http://java.sun.com/docs/books/tutorial/essential/exceptions/finally.html )
Так, если Вы явно не называете System.exit (интервал), или уничтожаете процесс или распараллеливаете внешне, можно полагаться на него.
Chris Cameron корректен. Но обычно finally
- блок выполняется. Нулевой указатель dereferece действительно существует в Java:
try {
List<Object> x = null;
x.get(1); //throws the unchecked NullPointerException
} finally {
//will be executed
}
наконец-блок выполняется.
Абсолютно, это наконец блок будет работать, каждый раз. Кроме случая JVM отказывают или выход () вызванная функция. У меня был код, где сделанное JAVA-приложение обращается к собственному коду JNI который segfaulted. Получающийся катастрофический отказ уничтожил JVM и предотвратил наконец от выполнения.
Да, JVM всегда выполняет его. Gaurranteed.
, Конечно..., если сам JVM умирает (например: System.exit ()), затем это не имеет возможности gaurrantee ничто. Но смерть JVM не является проблемой в Java.
Erm, да :) Вводит ли Ваш код выгоду или нет, наконец будет работать. Это - хорошее место для помещения кода, который моется после попытки.
, Очевидно, это не будет работать при повреждении jvm :)
Да, наконец блок будет всегда выполняться, если не будет катастрофический отказ JVM (очень редкий, но это может произойти).