Что ты ожидаешь в результате выполнения этого кода?
public class Haha {
public static void main(String args[]) {
System.out.print("H" + "a");
System.out.print('H' + 'a');
}
}Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤1
Программисты часто не могут выбрать необходимую точность для чисел с плавающей запятой. Float требует всего 4 байта, но имеет только 7 значащих цифр, а Double в два раза точнее (15 цифр), но в два раза прожорливее.
Выбор правильной точности для решения реальных задач требует хорошего понимания природы машинных вычислений. Если у вас его нет, либо посоветуйтесь с кем-нибудь, либо изучите проблему самостоятельно, либо используйте Double и надейтесь на лучшее.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
Строковые шаблоны (string templates) — новая функция в режиме preview, упрощающая создание строк с вычисляемыми значениями.
String name = "Joan";
String info = STR."My name is \{name}";
assert info.equals("My name is Joan"); // true
Выражение использует обработчик
STR и встроенное выражение {name}, которое может включать строки, арифметику, методы и поля. Обработчики выполняются динамически и обеспечивают безопасность кода. Шаблоны не работают без обработчика, отвечающего за интерполяцию и валидацию.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12😱2❤1
Но, возможно, вы не знали, что начиная с Java 8, интерфейсы могут иметь реализацию с помощью методов по умолчанию. Это позволяет добавлять новые методы в интерфейс, не разрушая код, который его уже реализует.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
Запись файлов в Java осуществляется двумя способами:
FileOutputStream и FileWriter. Какой метод выбрать, зависит от конкретной задачи.FileOutputStream предназначен для записи необработанных байтовых потоков. Это делает его идеальным решением, например, для работы с изображениями.FileWriter другое призвание: работа с потоками символов. Поэтому, если вы пишете текстовые файлы, выберите этот метод.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4
Java всегда ставила акцент на эффективное управление ресурсами, и одна из лучших фишек, которая помогает разработчикам в этом — механизм try-with-resources, представленный в Java 7.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Мощное средство для работы с коллекциями — Stream API, которое трансформировало подход к обработке данных, сделав код более читаемым, коротким и улучшив его производительность за счёт возможности параллельной обработки.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12😁2
В Java часто приходится сталкиваться с проблемой, когда метод возвращает
null, что может привести к NullPointerException. Чтобы избежать таких ситуаций, можно использовать класс Optional.null.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤2
Java Streams позволяют легко и эффективно работать с коллекциями данных, такими как списки, используя функциональный подход.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Часто возникает необходимость объединять несколько строк в одну, используя определенный разделитель.
StringBuilder. С появлением метода String.join, эта задача стала намного проще и лаконичнее.Использование метода String.join значительно упрощает задачу объединения строк с разделителем, делая код более читаемым и сокращая количество кода, которое нужно написать и поддерживать.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
Java позволяет использовать локальные переменные внутри лямбда-выражений, но с одним важным ограничением: переменные должны быть эффективно финальными (effectively final).
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
В Java 14 был представлен Pattern Matching для оператора instanceof. Эта возможность упрощает и делает более читабельным код, который проверяет типы объектов и затем приводит их к этим типам.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23😢1
Please open Telegram to view this post
VIEW IN TELEGRAM
Sealed classes позволяют разработчикам ограничивать, какие классы могут наследоваться от конкретного класса или реализовывать интерфейс.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2
Records — это новый тип классов в Java, который значительно упрощает создание классов, предназначенных для хранения неизменяемых данных.
equals(), hashCode() и toString(), что делает код более чистым и менее многословным.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Java 17 представила полезную возможность — Text Blocks, которая упрощает работу с многострочными строками.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21