Java | Фишки и трюки
Открыть в Telegram
Java: примеры кода, интересные фишки и полезные трюки Купить рекламу: https://telega.in/c/java_tips_and_tricks ✍️По всем вопросам: @Pascal4eg
Больше6 813
Подписчики
Нет данных24 часа
-137 дней
-6630 день
Архив постов
6 818
Знаете ли вы, что число π (пи) никогда не заканчивается и не повторяется?
А числа Фибоначчи встречаются во многих природных явлениях? 🐌
Математика — это не просто набор формул. Это язык, который описывает мир вокруг нас.
📚 Есть желание разобраться? В помощь вам — полезный канал о высшей математике. Его автор — выпускник СПБГУ, а ныне — преподаватель предмета.
Простым языком объясняет сложные вещи, даёт шпаргалки и проводит бесплатные практикумы 🔥
Приятный бонус — живые дискуссии в комментариях и ответы на любые вопросы.
Посмотрите сами 👉 @lav_math
6 818
⌨️ Для чего нужен метод hashCode()?
Метод
hashCode() необходим для вычисления хэш кода переданного в качестве входного параметра объекта. В Java это целое число, в более широком смысле - битовая строка фиксированной длины, полученная из массива произвольной длины. Этот метод реализован таким образом, что для одного и того же входного объекта, хэш код всегда будет одинаковым. Следует понимать, что в Java множество возможных хэш кодов ограничено типом int, а множество объектов ничем не ограничено. Из-за этого, вполне возможна ситуация, что хэш коды разных объектов могут совпасть:
✔️ если хэш коды разные, то и объекты гарантированно разные;
✔️ если хэш коды равны, то объекты не обязательно равны(могут быть разные).
#java #hashCode6 818
Мечтаешь о карьере в бигтехе?
Приходи на интенсив в Открытые школы Т1 для Java-разработчиков с опытом от года. Лучшие выпускники получат оффер от Т1 — крупнейшей ИТ-компании по версии RAEX 2023🔝 и уникальный карьерный фаст-трек до мидла в бигтехе.
В портфеле Холдинга Т1 800+ масштабных проектов и 70+ продуктов и услуг.
🧠 Всего за полгода мы выпустили 500+ специалистов. Участники присоединились к командам финтех-разработки и разработки ИТ-продуктов. Выпускников также ждут в юнитах облачных сервисов, развития ИИ-решений, интеграции и консалтинга.
Программа курса: spring framework; docker; синхронное и асинхронное взаимодействие, брокеры сообщений; паттерны, SOLID.
⌛️ Быстрое обучение: 1 месяц.
💻Гибкий формат: все этапы онлайн, занятия по вечерам.
Готов прокачаться вместе с экспертами индустрии? Тогда подавай заявку до 22 августа!
Старт интенсива — 28 августа.
Реклама. ООО "Т1". ИНН 7720484492.
6 818
public class Quest {
public static void main(String[] args) {
int x = 5;
int y = 10;
x = x++ + ++y;
System.out.println("x = " + x + ", y = " + y);
}
}
#java #quest6 818
Ищем Middle и Senior Java-разработчиков, чтобы проводить тестовые собесы и менторить
Привет! Это ШОРТКАТ — команда разработчиков из бигтеха и менторская платформа. Мы помогаем найти крутую работу, апнуть грейд или свичнуть стек.
Мы только начинаем помогать Java-разработчикам, поэтому решили прийти сюда, чтобы найти новых коллег-менторов. Присоединиться сейчас — самое время, потому что ты сможешь повлиять на все процессы и встать у истоков чего-то большого.
Надо будет проводить тестовые интервью с другими разработчиками → оценивать уровень этих ребят → помогать им расти дальше с помощью менторства. Если ты до этого никого не менторил, вообще не переживай — всему научим.
Что взамен:
- От 40К за 5-7 часов работы в неделю
- Доступ к обучению и комьюнити других сильных менторов из Яндекса, Авито, Uber, Tinkoff и других
- Возможность выступать c лекциями на нашей площадке(уже сейчас к нам на эфир приходят 500+ джавистов)
- Крутая прокачка софтов + ты сможешь стать заметен и полезен в комьюнити
Если хочешь попробовать себя в роли ментора, заполняй форму — мы свяжемся с тобой и расскажем подробности ➡️ https://forms.gle/rFY9z9GKggqfgSS76
6 818
⌨️ Поддержка лямбда выражений в своём коде
В Java лямбда-выражения используются с функциональными интерфейсами, которые имеют ровно один абстрактный метод. Например, стандартный функциональный интерфейс
Function из пакета java.util.function представляет собой типичный пример.
Для нашего примера используем встроенный функциональный интерфейс IntUnaryOperator. Он выглядит вот так:
@FunctionalInterface
public interface IntUnaryOperator {
int applyAsInt(int operand);
}
Этот интерфейс представляет функцию, которая принимает один аргумент типа int и возвращает значение типа int.
import java.util.function.IntUnaryOperator;
public class Main {
public static int applyOperation(int number, IntUnaryOperator operator) {
return operator.applyAsInt(number);
}
public static void main(String[] args) {
int number = 5;
// Лямбда-выражение для удвоения значения
IntUnaryOperator doubleOperation = x -> x * 2;
System.out.println("Double: " + applyOperation(number, doubleOperation)); // Double: 10
// Лямбда-выражение для увеличения значения на 10
IntUnaryOperator addTenOperation = x -> x + 10;
System.out.println("Add Ten: " + applyOperation(number, addTenOperation)); // Add Ten: 15
}
}
В нашем примере метод applyOperation принимает два параметра: число и функциональный интерфейс IntUnaryOperator. Лямбда-выражение используется для определения конкретной функции.
#java #lambda #IntUnaryOperator6 818
Расширьте свои навыки в программировании с бесплатным мини-курсом по Java! Научитесь создавать Telegram-ботов, разрабатывать программы для обработки данных и строить чаты на фреймворке Spring. Не упустите шанс — начните обучение уже сегодня: 👉 https://epic.st/TiP1IA?erid=2VtzqucrdwJ
Формат мини-курса отлично подойдёт для обучения из любой точки мира: смотрите видео в удобное время и закрепляйте навыки на практике.
🎁 За время обучения вы получите 5 полезных материалов в подарок, сертификат на скидку 10 000 рублей на любой курс, персональную карьерную консультацию и доступ к изучению английского языка в Skillbox на год.
До встречи на мини-курсе. Старт после регистрации!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
6 818
public class Quest {
public static void main(String[] args) {
int x = 5;
int y = 8;
if (x++ > 5 && ++y > 8) {
x++;
}
System.out.println("x = " + x + ", y = " + y);
}
}
#java #quest6 818
⌨️ instanceof или getClass() == ...
Часто нам нужно проверить является ли объект экземпляром определенного класса, например в методе equals(). Существует несколько способов это сделать. Разберём два из них.
instanceof проверяет, является ли ссылка на объект в левой части экземпляром типа в правой части или каким-либо подтипом.
getClass() == ... проверяет, идентичны ли типы.
Выбирать способ проверки типа нужно исходя из решаемой задачи. В методе equals() можно использовать оба способа в зависимости от того собираетесь ли вы позволять сравнивать объект определенного класса и объект класса наследника.
class Parent { }
class Child extends Parent { }
public class Test {
public static void main(String[] args) {
Parent parent = new Parent();
Child child = new Child();
System.out.println(parent instanceof Parent); // true
System.out.println(child instanceof Parent); // true
System.out.println(parent.getClass() == Parent.class); // true
System.out.println(child.getClass() == Parent.class); // false
}
}
#java #instanceof #getClass6 818
Начните обучение в магистратуре в Центральном университете уже на 3-м курсе бакалавриата!
Центральный университет — современный вуз, созданный при поддержке ведущих компаний России: Т-Банка, Авито и других.
Учебу реально совместить с последними курсами бакалавриата или действующей работой. Обучение занимает 20 часов в неделю в вечернее время в первый год, а занятия проводят в центре Москвы профессоры из МГУ, МФТИ, РЭШ и практики из индустрии. Обучение в университете построено по принципам ИТ-компаний, со средой, способствующей росту и развитию.
У каждого студента будет:
✔️личный ментор по траектории обучения;
✔️ доступ к карьерному центру с коучами и консультантами;
✔️ опыт работы в проектах 30+ компаний-партнеров уже во время обучения;
✔️ диплом гособразца.
Участвуйте в онлайн-отборе, чтобы выиграть грант на обучение до 1,2 млн рублей. Больше подробностей про университет и конкурс грантов по ссылке!
erid:2VtzqvJsn75
Реклама, АНО ВО «Центральный университет», ИНН 774341802
6 818
⌨️ Контракт метода equals()
✔️ Рефлексивность: для любой ссылки на значение
x, x.equals(x) вернет true;
✔️ Симметричность: для любых ссылок на значения x и y, x.equals(y) должно вернуть true, тогда и только тогда, когда y.equals(x) возвращает true.
✔️ Транзитивность: для любых ссылок на значения x, y и z, если x.equals(y) и y.equals(z) возвращают true, тогда и x.equals(z) вернёт true;
✔️ Непротиворечивость: для любых ссылок на значения х и у, если несколько раз вызвать х.equals(y), постоянно будет возвращаться значение true либо постоянно будет возвращаться значение false при условии, что никакая информация, используемая при сравнении объектов, не поменялась.
❗️Для любой ненулевой ссылки на значение х выражение х.equals(null) должно возвращать false.
#java #equals #contract6 818
С каждым годом собеседования в IT становятся всё сложнее. Пора начать готовиться к ним правильно!
Мы — сообщество «Собесит», и мы помогаем успешно проходить собеседования в IT для Java, GO, QA, ML, Python и других программистов. У нас есть бесплатная база реально пройденных и актуальных собеседований из крупных компаний в видеоформате с документациями, от Junior до Team Lead позиций, которые ты можешь использовать прямо сейчас.
Запускай нашего бесплатного бота и готовься к собеседованиям с умом!
Начни подготовку сегодня и сделай шаг к жирному офферу!
erid: LjN8KC2SK
6 818
⌨️ Зачем нужен equals(). Чем он отличается от операции ==?
Метод
equals() - определяет отношение эквивалентности объектов.
При сравнении объектов с помощью == сравнение происходит лишь между ссылками. При сравнении по переопределённому разработчиком equals() - по внутреннему состоянию объектов.
#java #equals6 818
Тестовое собеседование на Middle Java-разработчика сегодня
Сегодня(7 августа) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика.
Как это будет:
1. Степан Аракелян, ex-Tech Lead в МТС и ментор в ШОРКТАТ, проведет настоящее собеседование на Middle Java-разработчика
2. Степан будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
3. В конце можно будет задать любой вопрос Степану
Что узнаешь на прямом эфире от ШОРТКАТ:
- Чего ждут от кандидатов на Middle позиции в Java-разработке
- Какие вопросы задают на интервью и зачем
- Как подготовиться к собесу, чтобы получить оффер
Это бесплатно?
Бесплатно
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot
6 818
⌨️ Что такое класс Object? Какие в нем есть методы?
Object это базовый класс для всех остальных объектов в Java. Любой класс наследуется от Object и, соответственно, наследуют его методы:
public boolean equals(Object obj) – служит для сравнения объектов по значению;
int hashCode() – возвращает hash код для объекта;
String toString() – возвращает строковое представление объекта;
Class getClass() – возвращает класс объекта во время выполнения;
protected Object clone() – создает и возвращает копию объекта;
void notify() – возобновляет поток, ожидающий монитор;
void notifyAll() – возобновляет все потоки, ожидающие монитор;
void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;
void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;
void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;
protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.
#java #Object #methods6 818
🧩 Комбинирование предикатов
Predicate - встроенный функциональный интерфейс, добавленный в Java 8 в пакет
java.util.function.
Принимает на вход значение, проверяет состояние и возвращает boolean значение в качестве результата.
Предикаты можно комбинировать между собой и в результате получать составные условия.
У предиката есть 3 default метода для составления условия. Имена методов говорящие: and(), or(), negate()6 818
Как освоить Java и получить работу мечты?
Самый быстрый способ — учиться у практиков.
Senior Java Developer создал личный канал, в котором разбирает с подписчиками рабочие задачи:
🔸 Объясняет примеры грамотно написанного кода, который можно тырить без зазрения совести
🔸 Доходчиво объясняет замороченные темы, которых нет даже на дорогущих курсах
🔸 Даёт советы, чтобы хантеры сами писали в личку с предложениями
Подписывайтесь!
