Вопрос или проблема
Я видел упоминания о новых классах и методах, таких как этот, для работы с консолью в приложении Java.
Я не могу найти Java JEP для этого в индексе JEP.
кратко
Да, новые методы консоли находятся на предварительном просмотре в Java 24 (& Java 23).
Существующий класс Console
и новый класс IO
предлагают методы print
, println
и readln
.
Старый System.out.println ( "Hello world!" )
заменяется новым IO.println ( "Hello world!" )
.
Подробности
Да, существует серия JEP, добавляющая функции, связанные с консолью.
- Java 24
JEP 495: Простой исходный файл и методы экземпляра main (четвёртый предварительный просмотр) - Java 23
JEP 477: Неявно объявленные классы и методы экземпляра main (третий предварительный просмотр)
Эта серия является частью Упрощения начального курса в последние годы, чтобы сделать Java более доступной для начинающих студентов.
java.io.IO
Если всё пройдет успешно, эта серия JEP добавит новый класс, java.io.IO
. Этот класс предлагает следующие методы:
static void print ( Object obj )
static void println ( Object obj )
static String readln ( String prompt )
Обратите внимание, что эти методы являются static
. Так что мы можем использовать их без создания объекта.
Таким образом, знакомый System.out.println ( "Hello world!" );
становится:
import java.io.IO;
…
IO.println ( "Hello world!" );
Или можно сделать еще короче с помощью static import
.
import static java.io.IO.println;
…
println ( "Hello world!" );
java.io.Console
Эти методы java.io.IO
реализованы с обращением к объекту Console
, возвращаемому из System.console()
. Таким образом, класс Console
получает новые методы с такими же подписями.
Дополнительная информация
Предупреждение: Это предварительные функции, подлежащие изменениям или удалению.
Попробуйте эти функции в предварительной сборке Java 24, основанной на OpenJDK кодовой базе. Смотрите предварительный доступ Javadoc для Java 24.
Ответ или решение
В последние версии Java, такие как Java 23 и 24, были внедрены новые упрощенные способы взаимодействия с консолью, которые значительно облегчают процесс ввода и вывода данных. Эти изменения касаются не только структуры написания кода, но и его удобочитаемости. Рассмотрим подробнее основные новшества, которые будут полезны разработчикам.
Основные улучшения
Одним из значительных обновлений является добавление нового класса java.io.IO
, который предоставляет статические методы для работы с консолью. Эти методы включают в себя:
static void print(Object obj)
static void println(Object obj)
static String readln(String prompt)
Эти методы позволяют выполнять операции ввода-вывода без необходимости создавать объект класса для их использования, что делает код более лаконичным и понятным.
Например, вместо привычного вызова:
System.out.println("Hello world!");
Вы сможете использовать:
import java.io.IO;
IO.println("Hello world!");
Или, используя статический импорт, можете записать еще короче:
import static java.io.IO.println;
println("Hello world!");
Работа с классом java.io.Console
Существующий класс java.io.Console
также подвергся улучшениям. Начиная с Java 23, он наделен дополнительными методами, которые соответствуют тем же сигнатурам, что и методы нового класса IO
. Это сохраняет совместимость с предыдущими версиями Java, позволяя разработчикам постепенно переходить на новые подходы, не отказываясь от уже устоявшихся привычек.
Методы Console
, возвращаемые вызовом System.console()
, обеспечивают аналогичные функциональные возможности и дополнительно упрощают процесс сканирования и представления информации пользователю. Это позволяет писать более интуитивные и читаемые программы.
Примеры использования
Чтение пользовательского ввода
Теперь вы можете получить пользовательский ввод с подсказкой более легко:
String name = IO.readln("Введите ваше имя: ");
IO.println("Здравствуйте, " + name + "!");
Этот код показывает, как просто можно запрашивать и отображать данные, делая его подходящим для обучающих примеров и быстрой разработки.
Предварительные версии и будущее
Важно отметить, что эти возможности являются предварительными функциями и могут изменяться в зависимости от версии Java. Рекомендуется протестировать их в предварительных сборках Java 24, доступных через OpenJDK, чтобы ознакомиться с последними обновлениями.
Заключение
Введение новых методов в Java 23 и 24 облегчает взаимодействие с консолью, делая код более понятным и кратким. Это отличная новость как для начинающих, так и для опытных разработчиков, стремящихся сократить время на написание рутинного кода. Как всегда, важно следить за изменениями в спецификации языка, чтобы оставаться в курсе новых возможностей и сохранять совместимость с будущими версиями.