Java Interview Tasks
4.5K subscribers
201 photos
1 file
128 links
Реальные вопросы и задачи с собеседований.
Оригинальный авторский контент.
Актуальный материал.
Уровень вопросов от junior до supersenior.

Автор канала - @alexzelentsov

По рекламе: @alexzelentsov и https://telega.in/c/java_interview_tasks
Download Telegram
🔍 Ответ на задачу про MegaClass 📊

Давайте разберём, что именно будет напечатано при выполнении данного кода. Здесь мы имеем класс MegaClass с переопределёнными методами equals() и hashCode(), и работаем с объектами этого класса в HashSet. Обратите внимание на влияние изменения состояния объекта на результат работы методов, связанных с коллекциями.

Пояснения:

A: set.add(o) - Возвращает true, потому что объект o только что добавлен в set.

B: set.contains(new MegaClass(10)) - Возвращает false, так как после изменения поля i, o имеет hashCode = 1000, который не совпадает с 1000 у new MegaClass(10).

C: set.add(new MegaClass(10)) - Возвращает true, объект с hashCode равным 10 не найден в set, потому что изменили o.

D: set.contains(new MegaClass(1000)) - Возвращает false, так как теперь oбъект, у которого hashcode 1000, содержится в set, но предыдущий объект был добавлен с хешкодом 10 и поэтому он не найдется теперь.

E: new MegaClass(10).equals(new MegaClass(1000)) - Возвращает false, так как поля i отличаются.

📈 Этот пример отлично демонстрирует, насколько важно соблюдать неизменяемость полей, участвующих в вычислении hashCode() и equals(), при работе с коллекциями.

Если вам понравился анализ этого кода и вы хотите узнавать больше, ставьте лайк, подписывайтесь на канал и делитесь своими мыслями в комментариях! 👍💬

#java #hashcode #equals #collections #java_interview_tasks
👍8🔥85
🔍 Ответ на задачу про работу String.valueOf() с null! 💡

String s1 = String.valueOf((Object) null);
String s2 = String.valueOf(null);
System.out.println(Objects.equals(s1, s2));


Вызов String.valueOf((Object) null) в первой строке приводит к тому, что Java воспринимает null как объект, и возвращает строку "null".

Во второй строке, String.valueOf(null) вызывает перегруженный метод, который принимает char[]. Но поскольку передан null, вызов упадет с NPE. 🚀

Выводы: всегда смотрите реализацию метода, который вызывается.
Может быть несколько перегруженных методов, реализация которых очень сильно отличается.

Спасибо, что дочитали до сюда) Не забудьте поставить лайк, оставить комментарий и подписаться! 🙌

#Java #NullPointerException #String #java_interview_tasks
👍273🔥2
🔍 Ответ на задачу про сравнение лонгов:🌟


В методе main, вызывается checkEvent с новым объектом Event, где id инициализирован null. Поэтому, при сравнении (event.id == 42) произойдет неявный вызов метода java.lang.Long.longValue(), что вызовет NullPointerException и программа завершится с ошибкой.

Программа выведет исключение:

Exception in thread "main" java.lang.NullPointerException
👨‍💻 Советы: всегда проверяйте null-ссылки перед использованием объектов во избежание необработанных исключений!

Интересная задача? Поддержите лайком и оставьте комментарий! 😊👇

#java #exceptionHandling #java_interview_tasks
🔥9👍7🙏1
🔍 Ответ на задачу про Immutable объекты в Java 🔒

✍️ В Java объект типа String является неизменяемым (immutable). Операция s1.concat(" World") создает новый объект строки и присваивает его s1. Переменная s2 остается ссылаться на старую строку "Hello". Поэтому программа выведет: Hello

Если задача понравилась, ставьте лайк 👍, подписывайтесь на канал и пишите свои ответы и вопросы в комментариях! Обсудим вместе 😊

#java #string #immutable #interview #java_tasks #java_interview_tasks
👍181🔥1😢1
🔍 Ответ на задачу про работу с HashMap и null 🗺

✍️ HashMap в Java разрешает использовать ключ null.
Правильный ответ: 5

Если задача была полезна, ставь лайк 👍, подписывайся и пиши свое решение или вопросы в комментариях! 💬

#java #hashmap #null #map #java_tasks #java_interview_tasks
🔥8👍51