Java | Фишки и трюки
الذهاب إلى القناة على Telegram
Java: примеры кода, интересные фишки и полезные трюки Купить рекламу: https://telega.in/c/java_tips_and_tricks ✍️По всем вопросам: @Pascal4eg
إظهار المزيد6 824
المشتركون
+824 ساعات
+27 أيام
-5030 أيام
أرشيف المشاركات
6 824
‼️Всем кодерам посвящается‼️
Code ready — лучшие подборки эффектов, анимаций и многое другое для твоих проектов, сразу с готовым кодом и примером их использования.
🪩 Расставь приоритеты, добавь лёгкости в свою работу и становись лучше с @code_ready
6 824
⌨️ О чем говорит ключевое слово final?
Модификатор
final может применяться к переменным, параметрам методов, полям и методам класса или самим классам.
👉 Класс не может иметь наследников;
👉 Метод не может быть переопределен в классах наследниках;
👉 Поле не может изменить свое значение после инициализации;
👉 Параметры методов не могут изменять своё значение внутри метода;
👉 Локальные переменные не могут быть изменены после присвоения им значения.6 824
BIRT (Business Intelligence and Reporting Tools) - это открытая платформа, предоставляющая возможности для создания отчетов и бизнес-аналитики в приложениях, разрабатываемых на языке программирования Java. Эта платформа предоставляет инструменты для создания, развертывания и поддержки отчетов различной сложности.
Вот несколько ключевых аспектов BIRT:
Дизайнер отчетов (BIRT Designer)
BIRT предоставляет визуальный дизайнер отчетов, который позволяет разработчикам создавать отчеты с использованием различных элементов, таких как таблицы, графики, текстовые блоки и т.д. Этот дизайнер встроен в Eclipse IDE, что упрощает интеграцию с существующими проектами Java.
Интеграция с Java-приложениями
BIRT обеспечивает простую интеграцию с Java-приложениями. Вы можете использовать BIRT Runtime API для встраивания отчетов в свои приложения. Это позволяет вам создавать динамические отчеты, которые могут быть сгенерированы на лету в ответ на запросы пользователей.
Поддержка различных источников данных
BIRT может работать с различными источниками данных, такими как базы данных (SQL, JDBC), веб-службы, XML-файлы и другие. Это обеспечивает гибкость при работе с данными из различных источников.
Мощные возможности форматирования
BIRT предоставляет обширные возможности по форматированию отчетов. Вы можете настраивать внешний вид отчетов, включая шрифты, цвета, стили линий, и т.д.
Генерация различных форматов отчетов
BIRT поддерживает генерацию отчетов в различных форматах, таких как HTML, PDF, Excel, Word и другие. Это позволяет пользователям получать отчеты в удобных для них форматах.
Система расширений
BIRT предоставляет механизм для создания пользовательских расширений, что позволяет разработчикам расширять функциональность платформы в соответствии с конкретными требованиями проекта.
Открытый исходный код
BIRT является проектом с открытым исходным кодом, что обеспечивает доступность и гибкость для разработчиков. Это также означает наличие сообщества, которое может предоставить поддержку и ресурсы для пользователей BIRT.
Для начала работы с BIRT, вы можете загрузить Eclipse IDE, которая включает в себя BIRT Designer. После установки вы сможете создавать, редактировать и интегрировать отчеты BIRT в ваши Java-приложения.
6 824
Почему Junior разработчику стало нереально найти работу? 😰
На одну Junior вакансию сейчас откликается в среднем около 1500 кандидатов. 1500 человек... 😬 А компании нужен всего один хороший джун.
😢 Это печально, потому что работодатель разбирает только первые 50-100 откликов, а остальные 1400 он просто не смотрит. Получается очень жесткая конкуренция.
Как искать работу в таких условиях и что делать, чтобы пробиться на собеседование? 🤔
Макс, основатель компании CodeReview (в прошлом разработчик) проведет бесплатный вебинар, в котором расскажет:
- как джунам искать работу в условиях жесткой конкуренции
- какие инструменты использовать
- как пробиваться на собеседования в 2024 году
🗓 Когда? 26 декабря, в 19:00 по мск
🎁 Стрим полностью бесплатный, а всем участникам Макс пришлет чек-лист для оформления резюме и гитхаба.
👉 Зарегистрироваться на бесплатный вебинар можно через этого телеграм-бота.
Приходи, если хочешь быстрее найти работу. До встречи! ✌️
6 824
Метод retainAll()
Метод
retainAll() интерфейса Collection, удаляет из коллекции все элементы, не содержащиеся в переданной коллекции. По сути оставляет в коллекции только пересекающиеся элементы из двух коллекций.
boolean retainAll(Collection<?> c);
Параметры:
c – коллекция, содержащая элементы, которые следует сохранить в коллекции.
Возврат:
true, если коллекция изменилась в результате вызова6 824
Кредитная карта 180 дней без % от Банка "Открытие"
Бесплатное обслуживание навсегда и снятие наличных за 0₽ в первый месяц.
Подать заявку
Финансовые услуги оказывает: ПАО Банк "ФК Открытие"
#реклама
open.ru
О рекламодателе
6 824
Несколько способов для избежания NullPointerException:
👉 Используйте
Optional из пакета java.util.
👉 При сравнении константы с переменной пришедшей из вне, нужно вызывать equals() на константе.
👉 А при сравнении двух переменных используйте java.util.Objects#equals.
👉 Используйте библиотеки с null-безопасностью, например, Apache Commons StringUtils.
👉 Вызывайте методы equals() и equalsIgnoreCase() на известных объектах.
👉 Применяйте valueOf() вместо toString().
👉 Воспользуйтесь аннотациями @NotNull и @Nullable на основе IDE.
👉 При возврате из метода коллекций, не стоит возвращать null, лучше пустую коллекцию (java.util.Collections#emptyList).6 824
Каналы любого уважающего себя разработчика:
Java Developer — поможет узнать обо всех тонкостях и секретах языка Java.
Python Developer — научит программировать на Python как настоящий разработчик.
Подписывайся и прокачивай свои навыки👇🏻
6 824
Retrofit - это библиотека для работы с HTTP-запросами в Java и Android, разработанная компанией Square. Основной целью Retrofit является упрощение выполнения сетевых запросов и преобразование HTTP-ответов в объекты Java. Retrofit использует аннотации Java для определения типа запроса, параметров, URL и других свойств.
Retrofit предоставляет удобный способ выполнения асинхронных запросов. Вы можете использовать
Call как для выполнения синхронного вызова (call.execute()), так и для выполнения запросов асинхронно (call.enqueue(...)).
Retrofit поддерживает использование интерсепторов для манипуляции запросами и ответами. Это может быть полезно для добавления заголовков, логирования и других операций.
Библиотека Retrofit предоставляет удобные средства для работы с сетевыми запросами, уменьшая объем необходимого кода и обеспечивая чистый и читаемый интерфейс для взаимодействия с удаленными API.6 824
class Cat {
public static void mew() {
System.out.println("Meow");
}
}
class SimonsCat extends Cat {
public static void mew() { }
}
public class Mew {
public static void main(String[] args) {
Cat cat = new Cat();
Cat simonsCat = new SimonsCat();
cat.mew();
simonsCat.mew();
}
}6 824
Контракт метода hashCode
Для реализации хэш-функции в спецификации языка определены следующие правила:
1️⃣ вызов метода
hashCode один и более раз над одним и тем же объектом должен возвращать одно и то же хэш-значение, при условии что поля объекта, участвующие в вычислении значения, не изменялись.
2️⃣ вызов метода hashCode над двумя объектами должен всегда возвращать одно и то же число, если эти объекты равны (вызов метода equals для этих объектов возвращает true).
3️⃣ вызов метода hashCode над двумя неравными между собой объектами должен возвращать разные хэш-значения. Хотя это требование и не является обязательным, следует учитывать, что его выполнение положительно повлияет на производительность работы хэш-таблиц.6 824
HttpClient представляет собой класс, введенный в Java 11, который предоставляет более современный и гибкий способ для выполнения HTTP-запросов и обработки HTTP-ответов. Он заменяет устаревший
HttpURLConnection и предоставляет более удобный интерфейс для работы с сетевыми операциями.
HttpClient также поддерживает асинхронные операции, позволяя выполнять запросы асинхронно с использованием CompletableFuture.6 824
🎄 Как насчет ежедневных best practices вплоть до Нового Года?
Новый день = новая возможность сделать твой код чуточку лучше!
Присоединяйся и открывай DMDEV ADVENT CALENDAR 🎁
6 824
Ромб
Интересная задача для тренеровки мозга. Нужно в ASCII-графике (скажем так) вывести ромб заданной размерности.
Не смотрите сразу решение, попытайтесь решить сами. Код вашего решения пишите в комментах, интересно как еще можно это сделать.
* *** ***** ******* ***** *** *Алгоритм: поместим центр координат в центр ромба, в результате для каждой из 4х плоскостей мы увидим закономерность: там где сумма x и y (без знака) меньше или равна половине размерности ромба, там стоит *, иначе пробел.
6 824
Цепочка методов (Method chaining) — это общий синтаксис для нескольких вызовов методов в объектно-ориентированных языках программирования. Каждый метод возвращает объект, что позволяет объединить вызовы в один оператор без необходимости использования переменных для хранения промежуточных результатов.
Пример для String:
text = text
.trim()
.replace("?", "")
.replace(" ", "-")
.toLowerCase();
Для того чтобы сделать такую штуку в своем классе, нужно что бы каждый метод возвращал из метода ссылку на текущий объект (this).6 824
Старт подготовительного курса по Java-разработке.
⏰ Когда: уже 12 декабря.
Даем: 62 урока с практикой в браузере, 3 онлайн вебинара и 1 сессию лайвкодинга с практикующим разработчиком.
Получаем: крепкие знания базы языка, умение понимать код и первую программу на Java, написанную вместе с наставником.
Всего 990 ₽ и ваше жгучее желание начать. Приходите с любым бэкграундом: нам не важны возраст, пол, образование и текущая профессия.
Запишитесь прямо сейчас!
Реклама. АНПОО "ХЕКСЛЕТ КОЛЛЕДЖ". ИНН 7839056670.
6 824
Класс Properties
В Java класс Properties представляет собой таблицу хэш-значений ключ-значение. Он является частью пакета
java.util, и обычно используется для работы с конфигурационными файлами, настройками приложений и другими данными в формате ключ-значение.
Некоторые методы класса Properties:
setProperty(String key, String value) - добавление или изменение значения ключа.
getProperty(String key) - получение значения по ключу.
load(InputStream in) - загрузка свойств из InputStream.
store(OutputStream out, String comments) - сохранение свойств в OutputStream.
defaults(Properties defaults) - устанавливает значения по умолчанию, которые будут использоваться при поиске значения для ключа, если оно не найдено в текущих свойствах.
Пример файла Properties:
version=1.0 name=TestApp
6 824
Мультипаспорт не обещаем, зато визу в любую страну — легко
Вы просто говорите куда, а все сложности с оформлением мы берём на себя. Наши клиенты и в США летают, и даже на Марс при желании организуем.
Переходи в Travelers, и тогда головная боль с ВНЖ обойдет тебя стороной. Проверено сотнями клиентов.
Кстати, карту иностранного банка делаем всего за неделю и почти за спасибо.
P.S. Да, это знак. Хватит откладывать на потом, действуй уже — Travelers
