Java | Фишки и трюки
Kanalga Telegram’da o‘tish
Java: примеры кода, интересные фишки и полезные трюки Купить рекламу: https://telega.in/c/java_tips_and_tricks ✍️По всем вопросам: @Pascal4eg
Ko'proq ko'rsatish6 723
Obunachilar
-524 soatlar
-207 kun
-7730 kun
Ma'lumot yuklanmoqda...
O'xshash kanallar
Taglar buluti
Kirish va chiqish esdaliklari
---
---
---
---
---
---
Obunachilarni jalb qilish
Oktabr '26Okt '26
Oktabr '26
+2
0 kanalda
Sentabr '26
+27
0 kanalda
Get PRO
Avgust '26
+51
9 kanalda
Get PRO
Iyul '26
+38
0 kanalda
Get PRO
Iyun '26
+98
0 kanalda
Get PRO
May '26
+128
10 kanalda
Get PRO
Aprel '26
+52
1 kanalda
Get PRO
Mart '26
+51
8 kanalda
Get PRO
Fevral '26
+42
3 kanalda
Get PRO
Yanvar '26
+38
0 kanalda
Get PRO
Dekabr '25
+75
25 kanalda
Get PRO
Noyabr '25
+108
11 kanalda
Get PRO
Oktabr '25
+50
0 kanalda
Get PRO
Sentabr '25
+28
6 kanalda
Get PRO
Avgust '25
+187
24 kanalda
Get PRO
Iyul '25
+156
16 kanalda
Get PRO
Iyun '25
+169
29 kanalda
Get PRO
May '25
+221
32 kanalda
Get PRO
Aprel '25
+290
35 kanalda
Get PRO
Mart '25
+291
32 kanalda
Get PRO
Fevral '25
+1 295
114 kanalda
Get PRO
Yanvar '25
+292
14 kanalda
Get PRO
Dekabr '24
+196
1 kanalda
Get PRO
Noyabr '24
+302
21 kanalda
Get PRO
Oktabr '24
+439
9 kanalda
Get PRO
Sentabr '24
+226
1 kanalda
Get PRO
Avgust '24
+281
3 kanalda
Get PRO
Iyul '24
+462
16 kanalda
Get PRO
Iyun '24
+229
1 kanalda
Get PRO
May '24
+395
9 kanalda
Get PRO
Aprel '24
+874
9 kanalda
Get PRO
Mart '24
+408
6 kanalda
Get PRO
Fevral '24
+339
7 kanalda
Get PRO
Yanvar '24
+330
5 kanalda
Get PRO
Dekabr '23
+595
10 kanalda
Get PRO
Noyabr '23
+663
12 kanalda
Get PRO
Oktabr '23
+656
8 kanalda
Get PRO
Sentabr '23
+538
0 kanalda
| Sana | Obunachilarni jalb qilish | Esdaliklar | Kanallar | |
| 07 Oktabr | 0 | |||
| 06 Oktabr | 0 | |||
| 05 Oktabr | 0 | |||
| 04 Oktabr | +1 | |||
| 03 Oktabr | 0 | |||
| 02 Oktabr | +1 | |||
| 01 Oktabr | 0 |
Kanal postlari
Класс 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
| 2 | Что почитать разработчику? Разборы Алексея Рыбака
Пишете backend и хотите глубже понимать архитектурные решения? В канале Алексея Рыбака есть что разобрать:
• Микросервисы – какой ценой? Почему они могут стать неподъёмным «налогом» для стартапа
• Очереди сообщений – что выбрать? Чем отличаются решения и для каких задач подходят
• AI – помощь или новая нагрузка? Как меняется работа мейнтейнеров PostgreSQL, когда генерировать отчёты об ошибках становится проще, чем проверять
А ещё – System Design Framework, производительность, масштабируемость и блокировки СУБД. В канале выходят и анонсы AI-митапов и обучения разработке с агентами
Начните с интересующей темы и подписывайтесь на канал Алексея!
Подписаться
#реклама 16+
О рекламодателе | 350 |
| 3 | Цепочка методов (Method chaining) — это общий синтаксис для нескольких вызовов методов в объектно-ориентированных языках программирования. Каждый метод возвращает объект, что позволяет объединить вызовы в один оператор без необходимости использования переменных для хранения промежуточных результатов.
Пример для String:
text = text
.trim()
.replace("?", "")
.replace(" ", "-")
.toLowerCase();
Для того чтобы сделать такую штуку в своем классе, нужно что бы каждый метод возвращал из метода ссылку на текущий объект (this). | 488 |
| 4 | 🤺 Почему ты получаешь отказ после «норм собеса»?
Дело не в знаниях — ты просто не знаешь, что реально проверяют на собеседованиях.
Решение — знать, чего от тебя ждёт интервьюер, и уметь правильно донести свою мысль.
Для этого ребята из ШОРТКАТ (менторской программы для разработчиков) собрали в один файл ОТВЕТЫ НА 50 СЛОЖНЫХ ВОПРОСОВ с Java-собеседований 🔥
Они проанализировали более 100 мок-интервью и собрали внутри реальные вопросы + ответы сильного кандидата.
⚠️ Забрать можно бесплатно в боте — @shortcut_sh_bot
В том же боте ты сможешь зарегаться на эфир с бесплатным тестовым интервью на Java-разработчика!
Эфир пройдёт 7 октября в 19:00 МСК.
Его проведёт Виктор Анохин — Senior-разработчик из Wildberries, ex-Билайн.
Ты сможешь вживую услышать, какие вопросы задают на собесах в топовых компаниях, и лично задать вопрос ментору из бигтеха 🔝
Всё это бесплатно, тебе нужно только нажать на ссылку и забрать все плюшки ↓
@shortcut_sh_bot
Реклама.
О рекламодателе. | 476 |
| 5 | ⌨️ Несколько способов для избежания 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). | 716 |
| 6 | ⚡️⚡️Строки кода стремятся подешеветь до цены токена. Что остается ценным?
Про это — трек «Замысел» 15 октября. Во второй день Joker, посвященный разработке будущего. О том, как человек понимает, почему он называет что-то проблемой, и формулирует свою цель, а не ту, что навязана ему извне. Теперь это общая работа для всех ролей, от разработчика до CEO: шаблонными решениями и готовыми схемами думает модель.
В карточках к посту рассказываем, почему так получилось, и показываем доклады из трека: спикеры расскажут, о чем нужно подумать еще до постановки задачи, и чем будет заниматься новый тип инженера — Context Engineer.
К дискуссиям после докладов — собираем ваши кейсы. Напишите в комментариях поста, если у вас бывало такое:
— агент час работал не над той задачей, потому что задача была сформулирована плохо;
— ускорение одного этапа не сдвинуло общий срок;
— узким местом оказалась не модель или инфраструктура, а знание, которое никто не записал.
Joker 2026 — 14–15 октября, Санкт-Петербург и онлайн.
🌟По промокоду javatipsandtricks персональные билеты дешевле
🔜🔜Исследуйте разработку будущего — на сайте Joker.
Реклама. ООО «Джуг Ру Груп». ИНН 7801341446 | 692 |
| 7 | Метод retainAll()
Метод retainAll() интерфейса Collection, удаляет из коллекции все элементы, не содержащиеся в переданной коллекции. По сути оставляет в коллекции только пересекающиеся элементы из двух коллекций.
boolean retainAll(Collection<?> c);
Параметры:
c – коллекция, содержащая элементы, которые следует сохранить в коллекции.
Возврат:
true, если коллекция изменилась в результате вызова | 687 |
| 8 | Метод putIfAbsent() интерфейса Map. Если указанный ключ еще не связан со значением (или сопоставлен со значением null), он связывает его с заданным значением и возвращает значение null, в противном случае возвращается текущее значение.
default V putIfAbsent(K key, V value) {
V v = get(key);
if (v == null) {
v = put(key, value);
}
return v;
}
Параметры:
key – ключ, с которым должно быть связано указанное значение. value – значение, которое должно быть связано с указанным ключом.
Возврат:
предыдущее значение, связанное с указанным ключом, или значение null, если для ключа не было сопоставления. Возврат null может также указывать на то, что мапа ранее ассоциировала с ключом значение null, если реализация поддерживает значения null. | 901 |
| 9 | Ищете облачную платформу? Есть Beget
✅ Аптайм 99,98% в дата-центрах Tier III
✅ Техподдержка 24/7 — живые люди, без ботов
✅ Прозрачная оплата без скрытых платежей
✅ Более 200 000 клиентов доверяют Beget
Узнать больше | 415 |
| 10 | ⌨️ Можно ли объявить метод абстрактным и статическим одновременно?
Нет. В таком случае компилятор выдаст ошибку: "Illegal combination of modifiers: ‘abstract’ and ‘static’".
Модификатор abstract говорит, что метод будет реализован в другом классе, а static наоборот указывает, что этот метод будет доступен по имени класса. | 865 |
| 11 | Кто сказал, что начинать надо с малого?
Тестировать цифровых двойников или настраивать проход по лицу в метро — неплохо для старта карьеры, правда? А еще это отличный способ обнаружить у себя новую ИТ-суперспособность.
Т1 — это бигтех для бизнеса и одна из крупнейших аккредитованных ИТ-компаний России. Здесь молодые специалисты получают реальные задачи: можно работать с большими данными, участвовать в разработке решений для ритейла, создавать инструменты для обучения и общения и многое другое.
И все это:
✅ онлайн из любой точки страны;
✅ под руководством наставника;
✅ удобно совмещать с учебой.
Для старта карьеры ИТ-холдинг выбрали уже более 4 000 студентов из 300+ вузов.
⚡ Присоединяйся и узнай, какая суперспособность в ИТ твоя.
Перейти на сайт
#реклама 16+
career.t1.ru
О рекламодателе | 501 |
| 12 | ⌨️ Где и для чего используется модификатор abstract?
Класс, помеченный модификатором abstract, называется абстрактным классом. Такие классы могут выступать только предками для других классов. Создавать экземпляры самого абстрактного класса не разрешается. При этом наследниками абстрактного класса могут быть как другие абстрактные классы, так и классы, допускающие создание объектов.
Метод, помеченный ключевым словом abstract - абстрактный метод, т.е. метод, который не имеет реализации. Если в классе присутствует хотя бы один абстрактный метод, то весь класс должен быть объявлен абстрактным.
Использование абстрактных классов и методов позволяет описать некий шаблон объекта, который должен быть реализован в других классах. В них же самих описывается лишь некое общее для всех потомков поведение. | 1 196 |
| 13 | Чем умнее AI, тем актуальнее математика❗️
В век нейросетей легко получить готовый ответ. Сложнее понять, откуда он взялся, и проверить его на правильность.
И здесь не обойтись без понимания математики. Тот, кто понял, восстановит любой факт, адаптирует его под задачу и сможет направить AI в нужную сторону.
Хороший запрос, проверку и интерпретацию делает не модель, а человек, который глубоко понимает предметную область. 📈
@lav_math — канал о высшей математике и математической жизни.
Канал про умение чувствовать математику и видеть взаимосвязи.
Автор — выпускник СПбГУ, к.ф.-м.н., научный сотрудник РАН, преподаёт в СПбГУ и ИТМО.
Что внутри:
— Работа со всеми математическими дисциплинами;
— Теория вероятностей и математическая статистика — один из основных профилей;
— Онлайн-занятия и стримы на YouTube;
— Контент для студентов технических направлений и тех, кто уже работает в IT, аналитике, Data Science.
Посмотрите сами 👉 @lav_math | 499 |
| 14 | ⌨️ void и Void
В языке программирования Java ключевое слово void используется для указания, что метод не возвращает никакого значения. Метод с возвращаемым типом void выполняет определенные действия, но не производит результат, который можно было бы использовать в вызывающей части программы.
Для void еще есть класс обёртка Void. Класс Void — это класс-заполнитель который нельзя создать и который хранит ссылку на объект Class, представляющий ключевое слово Java void.
Этот класс можно использовать, например, в случаях, когда у вас есть обобщенный класс и вы хотите, чтобы метод ничего не возвращал (т.е. чтобы пользователь класса не ожидал ничего особенного оттуда получить):
interface I<T> {
T doStuff();
}
class A implements I<Void> {
@Override
public Void doStuff() {
// ничего другого вернуть нельзя
return null;
}
}
Или если в проекте регулярно используется Callable<T> для выполнения каких-то асинхронных задач и в тех ситуациях, когда результат работы задачи ничего не должен возвращать, можно реализовать Callable<Void>. | 1 014 |
| 15 | Хочешь спроектировать нормальную доменную модель, а вместо этого третий час пишешь геттеры и сеттеры для очередного DTO? Теперь это можно делегировать.
CatCode - агент, который работает с проектом сам: пишет бойлерплейт, тесты, javadoc, гоняет сборку, пока ты занят чем-то более интересным. Доступны все топовые модели:
😒 Claude Opus 5
🤖 GPT-6 Astra
😐 Grok 4.6
и многие другие.
Умный свитчер экономит токены - рутина уйдёт дешёвой модели, сложные задачи - нейросети покруче. Один лимит дешевле зоопарка отдельных подписок - всего 900 рублей в месяц.
Оплата картой РФ или СБП, работает без VPN. Первые задачи бесплатно, просто зарегистрируйся и попробуй.
Делегируй рутину уже сегодня: catcode.dev | 549 |
| 16 | ⌨️ Что такое generics?
Generics - это технический термин, обозначающий набор свойств языка позволяющих определять и использовать обобщенные типы и методы. Обобщенные типы или методы отличаются от обычных тем, что имеют типизированные параметры.
Примером использования обобщенных типов может служить Java Collection Framework. Так, класс LinkedList<E> - типичный обобщенный тип. Он содержит параметр E, который представляет тип элементов, которые будут храниться в коллекции. Создание объектов обобщенных типов происходит посредством замены параметризированных типов реальными типами данных. Вместо того, чтобы просто использовать LinkedList, ничего не говоря о типе элемента в списке, предлагается использовать точное указание типа LinkedList<String>, LinkedList<Integer> и т.п. | 913 |
| 17 | Ищете облачную платформу? Есть Beget
✅ Аптайм 99,98% в дата-центрах Tier III
✅ Техподдержка 24/7 — живые люди, без ботов
✅ Прозрачная оплата без скрытых платежей
✅ Более 200 000 клиентов доверяют Beget
Узнать больше
#реклама 16+
beget.com
О рекламодателе | 476 |
| 18 | ⌨️ Почему char[] предпочтительнее String для хранения пароля?
С момента создания строка остаётся в пуле, до тех пор, пока не будет удалена сборщиком мусора. Поэтому, даже после окончания использования пароля, он некоторое время продолжает оставаться доступным в памяти и способа избежать этого не существует. Это представляет определённый риск для безопасности, поскольку кто-либо, имеющий доступ к памяти сможет найти пароль в виде текста. В случае использования массива символов для хранения пароля имеется возможность очистить его сразу по окончанию работы с паролем, позволяя избежать риска безопасности, свойственного строке. | 776 |
| 19 | Сезон поиска работы только стартанул, а тут такие шишки: СТО, IT-директора и техлиды сами пришли и разместили вакансии.
И тут можно даже написать руководителям напрямую:
→ CTO Альфа-Банка Кирилл Сафаров ищет руководителя портфеля цифровых продуктов на MLM-проект «Свой в Альфе»;
→ IT-директор Сергей Чернуха из «Филип Моррис Интернэшнл» в России в поиске сразу двух управляющих: IT-решениями для бизнеса и IT-инфраструктурой;
→ Руководитель направления инженерии и анализа данных в Контуре Юлия Лунёва приглашает продуктового аналитика-сеньора в направление веб-сервисов;
→ Техлид команды тестирования в Альфа-Банкее Егор Шохин ищет автотестировщика на C# уровня мидл+;
→ CTO МТС Банка Кирилл Золотарев ищет технического лидера в команду платежей;
→ Коммерческий директор Skillaz Андрей Синякин опубликовал вакансию директора
по продукту | 1 054 |
| 20 | Метод Arrays.fill() для инициализации массива
Класс java.util.Arrays имеет несколько методов с именем fill(), которые принимают разные типы аргументов и заполняют весь массив одним и тем же значением:
long array[] = new long[5];
Arrays.fill(array, 30);
У метода также есть несколько альтернатив, которые устанавливают диапазон массива в определенное значение:
int array[] = new int[5];
Arrays.fill(array, 0, 3, -50);
Обратите внимание, что метод принимает массив, индекс первого элемента, индекс последнего элемента (не включительно) и значение. | 989 |
