Java | Фишки и трюки
Open in Telegram
Java: примеры кода, интересные фишки и полезные трюки Купить рекламу: https://telega.in/c/java_tips_and_tricks ✍️По всем вопросам: @Pascal4eg Менеджер по рекламе: @shmyzna
Show more6 954
Subscribers
-124 hours
-117 days
+1330 days
Posts Archive
6 952
Тестовое собеседование на Middle Java-разработчика завтра
Уже завтра, 25 сентября в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика.
Как это будет:
1. Мария Ядерцова ведущий Java-разработчик в МТС Диджитал и ex. Сбербанк-Технологии будет задавать реальные вопросы и задачи разработчику-добровольцу
2. Мария будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
3. В конце можно будет задать любой вопрос Марии
Что узнаешь на прямом эфире от ШОРТКАТ:
· Чего ждут от кандидатов на Middle позиции в Java-разработке
· Какие вопросы задают на интервью и зачем
· Как подготовиться к собесу, чтобы получить оффер
Это бесплатно? Бесплатно
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqusdEja
6 952
⌨️ Методы allMatch и noneMatch интерфейса Stream
Метод
allMatch проверяет, удовлетворяют ли заданному предикату все элементы потока данных.
// Все не чётные?
int[] digits = {1, 3, 5, 7, 9};
boolean result = Arrays.stream(digits).allMatch(d -> d % 2 != 0);
System.out.println(result); // true
Противоположностью allMatch является метод noneMatch. Он проверяет, точно ли ни один элемент списка не соответствует заданному предикату.
// Нет чётных?
int[] digits = {1, 3, 5, 7, 9};
boolean result = Arrays.stream(digits).noneMatch(d -> d % 2 == 0);
System.out.println(result); // true
#java #Stream #allMatch #noneMatch6 952
One Week Offer в СЕНЛА!
Мы – международная IT-компания, занимаемся разработкой ПО и предоставляем услуги автоматизации для среднего и крупного бизнеса с 2012 года.
Ищем Java и QA Automation Engineer (Java). Приглашаем принять участие в One Week Offer.
Возможность получить предложение о работе всего за несколько дней — это реальность!
Как проходит Week Offer:
• Подайте заявку на участие на сайте (РБ, РФ).
• Пройдите 15-минутное интервью с рекрутером.
• Участвуйте в 60-минутном техническом собеседовании 21 или 28 сентября.
• При успешном прохождении всех этапов вы получите предложение о работе в этот день.
Все этапы проходят онлайн. Подробнее на нашем сайте (РБ, РФ).
6 952
Вам нравится читать контент на этом канале?
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Регистрируйтесь по ссылке: https://telega.in/n/java_tips_and_tricks
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
6 952
⌨️ Метод Stream.anyMatch
Метод
anyMatch служит для ответа на вопрос: «Удовлетворяет ли заданному предикату хотя бы один элемент из потока данных?»
Метод anyMatch возвращает boolean, а значит, является завершающей (терминальной) операцией.
int[] digits = {1, 3, 5, 7, 2, 9};
boolean result = Arrays.stream(digits).anyMatch(d -> d % 2 == 0);
System.out.println(result); // true
#java #Stream #anyMatch6 952
📱 Стильный, модный, молодёжный канал для Java-разработчиков
Команда Java Bar собирает материалы со всего Рунета, фильтрует их, после чего грамотно оформляет и публикует. Множество различных тематик, прокачка скиллов и продуктивное времяпрепровождение — это то, за чем к ним приходят.
Только интересное. Только полезное. Ничего лишнего.
🌂 Java Bar
6 952
public class Quest {
public static final int END = Integer.MAX_VALUE;
public static final int START = END - 100;
public static void main(String[] args) {
int count = 0;
for (int i = START; i <= END; i++) count++;
System.out.println(count);
}
}
#java #quest6 952
Уверен в своих навыках в Java?
Java в тестах — канал, который вкачает твой скилл ежедневными тестами и упражнениями, попробуй ответить👇
В Spring
@WebMvcTest создает ApplicationContext, который содержит web компоненты и все необходимые зависимости - верно ли это?
@WebMvcTest(…) public class WebMockTest { … }
6 952
💎 Проблема ромба (Diamond problem)
Ромбовидное наследование (diamond inheritance) — ситуация в объектно-ориентированных языках программирования с поддержкой множественного наследования, когда два класса B и C наследуют от A, а класс D наследует от обоих классов B и C. При этой схеме наследования может возникнуть неоднозначность: если объект класса D вызывает метод, определенный в классе A (и этот метод не был переопределен в классе D), а классы B и C по-своему переопределили этот метод, то от какого класса его наследовать: B или C?
В Java множественное наследование не разрешено для классов и разрешено только для интерфейсов, чтобы устранить эту серьезную проблему.
#java #diamond #problem
6 952
Привет! Я Николай — техлид в крупном банке
На данный момент я провел более 100 собеседований с разработчиками уровня middle+, и сам регулярно прохожу собеседования, получая офферы в крупнейших компаниях: Яндекс, Альфа, Сбер и других.
Благодаря этому я накопил большой опыт в том, какие вопросы задают на собеседованиях и как правильно на них отвечать, чтобы получить заветный оффер.
Я занимаюсь менторингом разработчиков Java. Обучаю как действующих разработчиков, желающих повысить свою зарплату, так и людей без опыта в программировании, стремящихся найти свою первую работу в IT.
В процессе менторинга я показываю, каким образом ведется разработка реального проекта, расставляю приоритеты в обучении и подготавливаю к собеседованиям. По окончании курса мы создадим 3 микросервиса и 1 библиотеку, которые могут понадобиться вам на работе и станут частью вашего резюме.
👩🎓 Двое учеников первого потока получили оффер на сумму более 250 тыс. рублей в месяц!
Второй поток начинается 1 октября! Если вы хотите участвовать — заполните анкету, и я свяжусь с вами.
Кроме того, я веду блог, где публикую материалы по менторингу, личной эффективности и свои статьи на Habr.
Google Docs
Анкета на участие в менторинге
6 952
⌨️ Вчера вышла Java 23
Внутри много интересного, например Markdown документация, поддержка примитивных типов в паттернах и операторах
instanceof / switch и многое другое.
Появился еще один тип классов - неявный, как будто существующих нам было мало 😁
Теперь приложение может стартовать даже если метод main не статический и не содержит параметр String[] args:
// --enable-preview --source 23
class HelloWorld {
void main() {
System.out.println("Hello, World!");
}
}
В таком случае во время запуска JVM сама создаст экземпляр класса HelloWorld и вызовет у него метод main():
$ java --enable-preview --source 23 HelloWorld.java
Hello, World!
И даже вот так!:
// HelloWorld.java
String greeting = "Hello, World!";
void main() {
println(greeting);
}
То есть вообще не объявляя класса! В таком случае виртуальная машина сама объявит неявный класс, в который поместит метод main() и другие верхнеуровневые объявления в файле. Фишка здесь еще и в том что используется метод println() вместо System.out.println(), это возможно из-за того что в неявный класс по умолчанию импортируется новый класс java.io.IO, в котором есть соответствующий метод.
Подробнее можно почитать на Habr'е.
#java236 952
erid: LjN8KTZ5k
Хотите узнать, как легко и эффективно писать UI-тесты на Java, даже если нет опыта в IT? 👀
Всего за пару часов вы создадите свой проект и напишете свои первые UI-тесты на Java. Вы разберете полный цикл написания UI-теста и научитесь применять эти знания на практике.
➡️Присоединяйтесь к открытому вебинару 19 сентября в 20:00 мск!
Урок особенно полезен начинающим специалистам, которые хотят работать в IT, начинающим специалистам в тестировании и начинающим разработчикам на Java или других языках.
Встречаемся в преддверии старта курса «Java QA Engineer. Basic». Все участники вебинара получат специальную цену на обучение!/✔️Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/280B/
6 952
⌨️ Пропуск элементов потока. Метод skip
Потоки данных поддерживают метод
skip(n), возвращающий поток данных с отброшенными первыми n элементами источника. Если в потоке-источнике было меньше n элементов, возвращается пустой поток.
Например, следующий код пропускает первые два блюда, содержащие более 300 калорий, и возвращает остальные:
List<Dish> dishes = menu
.stream()
.filter(d -> d.getCalories() > 300)
.skip(2)
.collect(toList());
#java #stream #skip6 952
public class Quest {
public static void main(String[] args) {
int i = Integer.MAX_VALUE;
i++;
if (i == 0) {
System.out.println("ZERO");
} else if (i == Integer.MIN_VALUE) {
System.out.println("MIN");
}
}
}
#java #quest6 952
Принёс вам полезный канал с анонсами топовых IT-мероприятий России.
Ребята мониторят конференции, митапы, вебинары, хакатоны, различные ивенты гигантов индустрии и лучших спецов. По сути это единая база всех событий IT-комьюнити.
Очень нужная вещь, где вы точно ничего не пропустите важного и интересного — подписываемся.
6 952
⌨️ Интерфейс CharSequence
Интерфейс
CharSequence представляет собой последовательность символов и является базовым интерфейсом для работы с различными строковыми типами. Он был введён в Java начиная с версии 1.4 и служит для предоставления общего интерфейса для объектов, которые могут быть представлены как последовательность символов.
CharSequence реализован такими классами, как:
String — неизменяемая строка.
StringBuilder — изменяемая последовательность символов.
StringBuffer — изменяемая, но потокобезопасная последовательность символов.
CharSequence определяет несколько методов, которые предоставляют доступ к символам последовательности и информации о ней:
int length();
Возвращает количество символов в последовательности.
char charAt(int index);
Возвращает символ по указанному индексу.
CharSequence subSequence(int start, int end);
Возвращает новую последовательность символов, которая является подстрокой оригинальной последовательности. Индекс start включается, а end — нет.
String toString();
Возвращает строковое представление последовательности символов.
CharSequence cs = "Hello, World!";
System.out.println("Length: " + cs.length());
System.out.println("Char at index 1: " + cs.charAt(1));
System.out.println("Subsequence (0, 5): " + cs.subSequence(0, 5));
System.out.println("String: " + cs.toString());
Вывод:
Length: 13
Char at index 1: e
Subsequence (0, 5): Hello
String: Hello, World!
#java #CharSequence6 952
Забирай пошаговую roadmap по JAVA
FAANG School в течение 24 часов отдают бесплатно свою библиотеку знаний. Вы можете получить доступ:
– Redis - 5 улучшений для твоего пет-проекта
– Пошаговая RoadMap по Java
– Мануал по Docker. Основные команды и концепции
– Микросервисы. Вопросы с собеседований
– Шпаргалка с горячими клавишами JetBrains IDE. Ускоришь работу в 10 раз
– Desk setup. Подборка аксессуаров для комфортной работы
– Шпаргалка по Kafka
– Подробный гайд, как найти работу в IT без опыта
– Подборка платформ с вакансиями для java-разработчиков
Из свежих пополнений – Инструкция по работе с Git (ключевой навык для любого разработчика!)
Библиотека знаний пополняется постоянно, но бесплатный доступ длится всего сутки. Чтобы получить полезные материалы, переходи по ссылке и жми на оранжевую кнопку.
Available now! Telegram Research 2025 — the year's key insights 
