Как использование System.out.printf () в Java связано с основной форматирующей архитектурой и стратегиями интернационалиJAVA

Программисты JAVA общаются здесь
Anonymous
Как использование System.out.printf () в Java связано с основной форматирующей архитектурой и стратегиями интернационали

Сообщение Anonymous »

В настоящее время я изучаю выбор дизайна, стоящих за стандартной библиотекой Java, особенно в том, как он обрабатывает форматированный выход. Я заметил, что System.out.printf () обеспечивает форматирование C-стиля, которое кажется немного неуместным на языке, который подчеркивает объектно-ориентированные и интернационализационные шаблоны. Я хочу знать: < /p>
Есть ли технические или дизайнерские обоснования для использования printf () по сравнению с другими инструментами форматирования. избегать в пользу таких инструментов, как MessageFormat или ResourceBundle. java.text.messageformat. Я также прочитал исходный код PrintStream и Formatter в JDK, чтобы понять, как форматирование обрабатывается внутри. /> MessageFormat для сообщений о локале < /p>
Я сравнил их выходы, производительность и поведение при переключении локалов с использованием locale.setdefault (...). Я ожидал увидеть последовательное поведение во всех трех с точки зрения чувствительности локали, особенно для таких вещей, как десятичные сепараторы или форматы дат, но я обнаружил, что printf () и string.format () ведут себя иначе от сообщений, когда речь идет только о локализации. < /P>
Это заставило меня сомневаться в том, предназначен ли Printf () только для быстрого допуска или вывода CLI или, если он в Greeper в роли JOVA. Я пытаюсь понять, существует ли руководящий принцип, стоящий за этим API, или если бы разработчики приезжали из других языков. . .

Подробнее здесь: https://stackoverflow.com/questions/796 ... lying-form

Вернуться в «JAVA»