Само MessageFormat не имеет ничего общего с языковой средой, и это связано с режимом, что пользователь предоставляет MessageFormat и режим Sub -формат для вставки параметров для генерации сообщений, подходящих для различных языковых сред.
Режим сообщений формат (основная часть):
Код кода копирования следующим образом:
ФОРМАТОМ:
{ArgentIndex}: это индекс позиции входа, начиная с 0.
{ArgentIndex, formattype}
{ArgentIndex, formattype, formatstyle}
Formattype :: Укажите использование различных подклассов формата для форматирования. Диапазон значения заключается в следующем:
Номер: номером вызова формат для форматирования
Дата: дата звонка для форматирования
Время: дата звонка для форматирования
Выбор: вызов выбора формата для форматирования
Formatstyle :: Установите стиль формата, используемый в Formattype. Диапазон значения заключается в следующем:
короткий
середина
длинный
фальт
Целое число
Валюта
процент
SubformatPattern (режим sub -формат, форма, как#. ##)
Возьмите ST в качестве примера, в этой строке:
1. {0} и {1, номер, короткий} и {2, номер,#.#};
2. Номер в {1, номер, короткий} принадлежит формататтипу, а короткометраж принадлежит Formatstyle.
3.
Укажите Formattype и Formatstyle, чтобы генерировать значения формата даты, количество различной точности, типа процента и т. Д.
Пример:
1. Аргумент должен быть негативным целым числом.
Код кода копирования следующим образом:
String msg = "{0} {1} {2} {3} {4} {5} {6} {7} {8}" ";
Object [] array = new Object [] {"a", "b", "c", "d", "e", "f", "g", "i",};
String value = messageFormat.format (msg, массив);
System.out.println (значение); // Вывод: Abcdefghi
2. Когда форматированная строка, две одиночные кавычки указывают на один номер кавычки, а один единый номер кавычки будет опущен, если только китайский номер кавычки не будет пропущен, например:
Код кода копирования следующим образом:
String value = messageFormat.format ("OH, {0} IS 'A' Pig", "Zhangsan");
System.out.println (значение);
Добавьте одну цитату в букву A, например:
Код кода копирования следующим образом:
String value = messageFormat.format ("OH, {0} IS 'A' Pig", "Zhangsan");
System.out.println (значение);
Если вам нужно отобразить двойные кавычки для переноса, например: String msg = "OH, {0} IS /" A /"PIG";
3. Единый номер кавычки сделает сбой позиционирования более поздних позиций, что приведет к символу прямого размещения вывода.
Код кода копирования следующим образом:
MessageFormat.format ("{0} {1}", 1, 2);
MessageFormat.format ("'{0} {1}", 1, 2);
MessageFormat.format ("'{0}' -{1}", 1, 2);
Это не имеет ничего общего с использованием двойных кавычек и двух отдельных кавычек.
String value = messageFormat.format ("OH, '' {0} '' - выбор", "Zhangsan");
System.out.println (значение);
Для другого примера, используя режим Sub -формата, еще один номер кавычки:
Код кода копирования следующим образом:
String value = messageFormat.format ("OH, {0, number,#.#} - это хорошее num", double.valueof ("3.1415"));
System.out.println (значение); // Вывод: OH, 3.1
3. Будь то кавычки и строки или нет кавычки, левые цветочные кронштейны не поддерживаются, например:
Код кода копирования следующим образом:
String value = messageFormat.format ("OH,} хороший num", double.valueof ("3.1415");
System.out.println (значение);
Если вы используете левые цветочные кронштейны, аномальный код кода копии появится следующим образом:
String value = messageFormat.format ("OH, {is is num", double.valueof ("3.1415");
System.out.println (значение);
Поэтому
MessageFormat.format ("'{' {0}}", "x-Rapido");
Есть также интересное явление. следующим образом
String value = messageFormat.format ("OH, {{is Good num", "d");
System.out.println (значение);
Код кода копирования следующим образом:
String value = messageFormat.format ("OH,}} - это хорошее num", "d");
System.out.println (значение);
О методе MessageFormat.format:
Каждый раз, когда используется метод MessageFormat.format, будет вновь создан экземпляр MessageFormat, что эквивалентно используемому только один раз. Метод формата класса сообщений заключается в следующем:
Код кода копирования следующим образом:
Общественный статический формат строки (String Pattern, Object ... аргументы)
{{
MessageFormat temp = new MessageFormat (шаблон);
Return temp.format (аргументы);
}
Поэтому, если вы хотите форматировать строку одного и того же режима несколько раз, создайте экземпляр MessageFormat в форматировании выполнения.
String Message = "OH, {0} - свинья";
MessageFormat messageFormat = new MessageFormat (Message);
Object [] array = new Object [] {"Zhangsan"};
String value = messageFormat.format (массив);
System.out.println (значение);