В статье рассматривается использование аннотации
@Subselect в Hibernate для связывания сущностей с результатами сложных SQL-запросов. Автор объясняет преимущества и ограничения этого подхода, а также предлагает альтернативные решения для таких задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1🔥1
🤣13😁3❤2🔥2
Аннотация
@SuppressWarnings используется для подавления предупреждений компилятора, которые вы хотите игнорировать. Она применяется к методам, классам, переменным и конструкторам. Это полезно, когда предупреждение не критично, но засоряет логи.
Виды предупреждений:
▶️ unchecked — необобщённый код (например, работа с сырыми типами List вместо List<String>)▶️ deprecation — использование устаревших методов или классов▶️ rawtypes — использование необобщённых коллекций▶️ unused — неиспользуемые переменные, методы или параметры▶️ serial — отсутствие serialVersionUID в классе, реализующем Serializable▶️ cast — проблемы с приведением типов▶️ divzero — предупреждение о делении на ноль▶️ fallthrough — отсутствие оператора break в конструкции switch, когда это может привести к неожиданному поведению▶️ finally — блок finally содержит код, который не может завершиться корректно▶️ all — подавление всех возможных предупреждений
Пример использования:
@SuppressWarnings("unused")
public void demo() {
int unusedVariable = 10; // Компилятор не будет ругаться на неиспользуемую переменную
}Важно использовать эту аннотацию аккуратно, чтобы не скрывать реальные проблемы в коде. Обычно её применяют, когда предупреждение не влияет на функциональность программы.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21🔥3👍2
Допустимый IP-адрес состоит из четырёх чисел (0-255), разделённых точками, без начальных нулей, например: «0.1.2.201» и «192.168.1.1». Недопустимы адреса с числами больше 255 или начальными нулями, как «0.011.255.245» или «192.168.1.312».
Задача: из строки s, содержащей только цифры, вернуть все возможные допустимые IP-адреса, вставив точки. Порядок цифр менять нельзя.
Пример 1:
Вход:
s = "25525511135"Выход:
["255.255.11.135","255.255.111.35"]Пример 2:
Вход:
s = "0000"Выход:
["0.0.0.0"]Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤4
В статье рассматривается, как использовать Java для написания небольших скриптов и утилит, обходясь без сложной настройки проектов.
Автор объясняет, как запускать Java-код без предварительной компиляции, использовать неявные классы и методы верхнего уровня, а также применять
var для упрощения разработки. Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥5👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21
😁33🔥5
С выходом Java 23 появился новый тип классов — неявный класс, который позволяет писать программы без явного объявления класса.
Если в файле отсутствует явное объявление класса, JVM автоматически создаёт класс с именем файла (например,
HelloWorld для файла HelloWorld.java) и размещает в нём все верхнеуровневые элементы.Рассмотрим пример:
String greeting = "Hello, World!";
void main() {
println(greeting);
}
Здесь JVM создаёт класс HelloWorld, добавляет в него переменную greeting и метод main.
Причём метод
main больше не обязан быть статическим или содержать параметр String[] args.А метод
println() работает благодаря новому классу java.io.IO, который импортируется по умолчанию в неявные классы.Эта новинка делает написание небольших программ более лаконичным и удобным.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤53👍9
Какие бывают системы контроля версий?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍7❤1
В статье рассматриваются AI-инструменты для автоматической генерации тестов в IntelliJ IDEA для языков Java и Kotlin.
Автор анализирует их преимущества и недостатки, а также делится результатами опроса более 400 разработчиков об их отношении к таким инструментам.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3🔥1
👍17❤6🔥5
В статье рассказывается, как генерировать HTTP-клиенты для Spring Boot приложений с помощью OpenAPI и плагина openapi-generator для Gradle.
Автор показывает как сгенерировать код, настроить проект и интегрировать его с RestTemplate или WebClient.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥2
Дан целочисленный массив
nums, верните массив answer таким образом, чтобы answer[i] был равен произведению всех элементов nums, кроме nums[i].Вы должны написать алгоритм, который выполняется за
O(n) времени и без использования операции деления.Пример 1:
Входные данные:
nums = [1,2,3,4]Вывод:
[24,12,8,6]Пример 2:
Входные данные:
nums = [-1,1,0,-3,3]Вывод:
[0,0,9,0,0]Ограничения:
1. 2 <=
nums.length <= 1052. -30 <=
nums[i] <= 303. Произведение любого префикса или суффикса
nums гарантированно укладывается в 32-разрядное целое число.Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2❤1