NullPointerException, одно из самых часто мелькающих исключений. Почему оно возникает?
Ссылочная переменная в Java - это как коробка. Коробка, у которой есть имя, и внутрь которой можно положить только определенный вид предмета объекта. Например:
Мораль - дарите девушкам телефоны, а переменным - значения. Так безопаснее:)
О том, как же все-таки работать с переменными, которым нельзя сразу присвоить конкретное значение и внутри могут быть null - ждите сказку в одном из будущих постов.
Ссылочная переменная в Java - это как коробка. Коробка, у которой есть имя, и внутрь которой можно положить только определенный вид предмета объекта. Например:
String box; //наша коробка переменная называется box и может хранить в себе строки (объекты типа String).В такой переменной может быть что-то записано, а может и ничего не быть - это самое ничего называется null. Если вы объявили переменную, но ничего в нее не записали - в ней по умолчанию будет значение null. Вот как это может выглядеть:
String box1 = "здесь могла бы быть твоя реклама"; //у переменной есть значениеnull сам по себе не вызовет проблем. Но если ты попробуешь обратиться к полю, или методу такой переменной - жди проблем исключений - NullPointerException.
String box2 = null; //мое значение null
String box3; //мое значение тоже null!
String box2 = null;Почему? Потому что внутри box2 - пустота, там нет реального объекта, у которого мы можем вызвать метод, или получить поле. И компилятор на это ругается. Ругается как девушка, которой на день рождения подарили коробку от айфона, внутри которой пустота.
System.out.println(box2.length());
//вызов метода length() приведет к выбросу NullPointerException
Мораль - дарите девушкам телефоны, а переменным - значения. Так безопаснее:)
О том, как же все-таки работать с переменными, которым нельзя сразу присвоить конкретное значение и внутри могут быть null - ждите сказку в одном из будущих постов.
👍4❤1
📗Фишка при работе со сьютами в TestNG
Если вам понадобилось сделать сьют в TestNG и выбрать только определенные тесты, и вы там набабахали себе групп, параметров, инклюдов-эксклюдов, а потом контрольно решили проверить - выбираются ли нужные тесты - то в обычном случае вам придется дождаться прогона всех этих тестов прежде чем узнать, правильно ли вы нахимичили свой suite. Но есть интересная фича для экономии времени - флаг -Dtestng.mode.dryrun=true
Если вы его передадите, например вот так:
то ни один тестовый метод не будет реально выполнен, но в surefire-репорте можно будет увидеть все вызывавшиеся методы, переданные через ваш сьют на запуск.
Если вам понадобилось сделать сьют в TestNG и выбрать только определенные тесты, и вы там набабахали себе групп, параметров, инклюдов-эксклюдов, а потом контрольно решили проверить - выбираются ли нужные тесты - то в обычном случае вам придется дождаться прогона всех этих тестов прежде чем узнать, правильно ли вы нахимичили свой suite. Но есть интересная фича для экономии времени - флаг -Dtestng.mode.dryrun=true
Если вы его передадите, например вот так:
mvn clean test -Dtestng.mode.dryrun=true
то ни один тестовый метод не будет реально выполнен, но в surefire-репорте можно будет увидеть все вызывавшиеся методы, переданные через ваш сьют на запуск.
👍4🔥2
Сложность: ⭐️🌚🌚🌚🌚 (1/5)
Время на чтение: 10 мин
Изучаешь Java? Шик!
Первый шаг - это установка Java в систему💻
Квест простой, но если ты запутался - рецепт по ссылке
Как говорил один ученый - "Вошли и вышли, приключение на 20 минут", но в нашем случае делов действительно на 20 минут, не больше.
Время на чтение: 10 мин
Изучаешь Java? Шик!
Первый шаг - это установка Java в систему💻
Квест простой, но если ты запутался - рецепт по ссылке
Как говорил один ученый - "Вошли и вышли, приключение на 20 минут", но в нашем случае делов действительно на 20 минут, не больше.
❤4👍3🤔1
Короткое видео с разбором как работает оператор инкремента в Java - тут:
https://youtu.be/RMNcbBkQM2A
3 минуты для зарядки мозгов!☕️
https://youtu.be/RMNcbBkQM2A
3 минуты для зарядки мозгов!☕️
YouTube
Пре-инкремент и пост-инкремент
Разбираемся как работает пре-инкремент и пост-инкремент на примере классической задачки в java: a++ + ++a
🔥4❤1👍1
Сложность: ⭐️⭐️⭐️⭐️🌚 (4/5)
Время на чтение: 10 мин
Если одним прекрасным утром вместо желанного "Привет мир!" в консоли ты увидел "§±§в§Ъ§У§Ц§д §Ю§Ъ§в!" - добро пожаловать в дивный мир кодировок и Java
Поэтому если в работе ты столкнешься с неправильно работающими кодировками и не знаешь что делать - не расстраивайся! теперь ты "не знаешь что делать с кодировками" чуть меньше чем окружающие😄
Время на чтение: 10 мин
Если одним прекрасным утром вместо желанного "Привет мир!" в консоли ты увидел "§±§в§Ъ§У§Ц§д §Ю§Ъ§в!" - добро пожаловать в дивный мир кодировок и Java
Поэтому если в работе ты столкнешься с неправильно работающими кодировками и не знаешь что делать - не расстраивайся! теперь ты "не знаешь что делать с кодировками" чуть меньше чем окружающие😄
2.5K🔥6👍1🙏1
Четко про классы и объекты!🤓🎓
Класс - это чертеж, по которому строятся объекты этого класса. Чертеж рассказывает какие поля (свойства) и методы (возможности, функционал) есть у этого объекта.
Чертеж существует в единственном экземпляре. А вот объектов на базе чертежа можно создать сколько угодно.
Так же и архитектор один раз создает чертеж дома (класс), по которому затем могут быть построены десятки и сотни реальных домов (объектов).🗒🏠🏠🏠
Так же как и у повара может быть форма для печенья в виде звездочки. Форма одна (класс), а вот печенек-звездочек (объектов) с ней можно сделать сколько угодно⭐️🍪🍪🍪
P.S. на инфографике зашифровано название фильма, можете испытать себя:)
Класс - это чертеж, по которому строятся объекты этого класса. Чертеж рассказывает какие поля (свойства) и методы (возможности, функционал) есть у этого объекта.
Чертеж существует в единственном экземпляре. А вот объектов на базе чертежа можно создать сколько угодно.
Так же и архитектор один раз создает чертеж дома (класс), по которому затем могут быть построены десятки и сотни реальных домов (объектов).🗒🏠🏠🏠
Так же как и у повара может быть форма для печенья в виде звездочки. Форма одна (класс), а вот печенек-звездочек (объектов) с ней можно сделать сколько угодно⭐️🍪🍪🍪
P.S. на инфографике зашифровано название фильма, можете испытать себя:)
🔥5❤1

