Форматирование строк Java

Для создания форматированного текстового вывода предназначен класс java.util.Formatter. Этот класс обеспечивает преобразование формата, позволяющее выводить числа, строки, время и даты в любом необходимом разработчику виде.

В классе Formatter объявлен метод format(), который преобразует переданные в него параметры в строку заданного формата и сохраняет в объекте типа Formatter. Аналогичный метод объявлен у классов PrintStream и PrintWriter. Кроме того, у этих классов объявлен метод printf() с парамет­рами идентичными параметрам метода format(), который осуществ­ляет форматированный вывод в поток, тогда как метод format() сохраняет изменения в объекте типа Formatter. Таким образом, метод printf()автоматически ис­пользует возможности класса Fomatter и подобен функции printf()языка С.

Класс Formatter преобразует двоичную форму представления данных
в форматированный текст. Он сохраняет форматированный текст в буфере, содержимое которого можно получить в любой момент. Можно предоставить классу Formatterавтоматическую поддержку этого буфера либо задать его явно при создании объекта. Существует возможность сохранения буфера класса Formatter в файле. Читать далее «Форматирование строк Java»

Методы java.util.concurrent.CompletableFuture

Начиная с Java8 в библиотеке появился класс CompletableFuture — это средство для передачи информации между параллельными потоками исполнения. Говоря проще это блокирующая очередь, способная передать только одно ссылочное значение. В отличие от обычной очереди, передает также исключение, если оно возникло при вычислении передаваемого значения.

Класс содержит несколько десятков методов, в которых легко потеряться. Данная статья классифицирует эти методы по нескольким признакам, чтобы в них было легко ориентироваться.

Для разминки познакомимся с новыми интерфейсами из пакета java.util.Function, которые используются как типы параметров во многих методах. Читать далее «Методы java.util.concurrent.CompletableFuture»

Рефлексия — Reflection API в JAVA. Примеры

Reflection API в Java используется для просмотра информации о классах, интерфейсах, методах, полях, конструкторах, аннотациях во время выполнения java программ.

package java.lang.reflect;

С помощью интерфейса Java Reflection API можно делать следующее:

  1. Определить класс объекта.
  2. Получить информацию о модификаторах класса, полях, методах, конструкторах и суперклассах.
  3. Выяснить, какие константы и методы принадлежат интерфейсу.
  4. Создать экземпляр класса, имя которого неизвестно до момента выполнения программы.
  5. Получить и установить значение свойства объекта.
  6. Вызвать метод объекта.
  7. Создать новый массив, размер и тип компонентов которого неизвестны до момента выполнения программ.

Для примера создадим сущность

Читать далее «Рефлексия — Reflection API в JAVA. Примеры»

Аннотации в Java

Аннотация(@Annotation) — форма метаданных, предоставляющая данные о программе, которая не является частью самой программы. Аннотации не имеют прямого влияния на работу кода, они аннотируют его и представляют из себя лишь мета информацию.

package java.lang.annotation;

Аннотации используются в трех случаях:
  • @Retention(RetentionPolicy.CLASS) — Аннотации должны быть записаны в файле класса компилятором, но не обязательно должен быть сохранен JVM во время выполнения. Это поведение по умолчанию.
  • @Retention(RetentionPolicy.SOURCE)  — Аннотации могут быть использованы компилятором для обнаружения ошибок или подавления предупреждений например @SuppressWarnings;
  • @Retention(RetentionPolicy.RUNTIME) Аннотации должны быть записаны в файле класса компилятором и сохранятся в VM во время выполнения, так что они могут быть прочитаны с помощью рефлексии;

Аннотированы могут быть пакеты, классы, методы, переменные и параметры.

Читать далее «Аннотации в Java»

Открываем браузер в windows, MAC или linux с помощью Java

Проверяем в какой ОС выполняется наш код, эта возможность реализована начиная с версии java 1.4.2 

Возвращаемые значения можно посмотреть на http://lopica.sourceforge.net/os.html

Выполнение сторонней программы, в нашем случае открытие браузера происходит с помощью консоли/командной строки.
Читать далее «Открываем браузер в windows, MAC или linux с помощью Java»

Leo Dev Blog | LD
Обзор конфиденциальности

На сайте используются обязательные и аналитические файлы cookie.

Обязательные cookie необходимы для корректной работы сайта.

Аналитические cookie используются для анализа посещаемости и улучшения работы сайта.

Вы можете изменить настройки использования cookie.