es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

Java Geek

Java Geek

Ir al canal en Telegram

Практичные советы, лайфхаки и код для Java-разработчиков. Каждый пост — реальная польза. Учим Java на примерах. По всем вопросам @evgenycarter

Mostrar más
2 353
Suscriptores
+124 horas
-37 días
-1430 días
Archivo de publicaciones
Сравнение Iterator и ListIterator • ListIterator расширяет интерфейс Iterator • ListIterator может быть использован только для перебора элементов коллекции List; • Iterator позволяет перебирать элементы только в одном направлении, при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous(); • ListIterator не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous() и next(). • При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала. @java_geek

Популярные ошибки начинающих Java программистов Часто начинающие Java программисты ошибаются в попытке удалить элемент во вре
Популярные ошибки начинающих Java программистов Часто начинающие Java программисты ошибаются в попытке удалить элемент во время обхода списка. Рассмотрим пример кода, в котором происходит попытка удалить элемент во время обхода элементов списка(#неверно на картинке). В ходе выполнения этого кода будет выброшено ConcurrentModificationException, так как нельзя удалять элементы во время итерирования по списку. Такая же ситуация будет и с for-each циклом. Удалять элементы безопасно можно только при использовании интерфейса Iterator(см #верно на картинке). @java_geek

К каким конструкциям Java применим модификатор static? • полям; • методам; • вложенным классам; • членам секции import. @java_geek

Метод Character.isWhitespace() Метод определяет в Java, является ли указанное значение типа char пустым пространством, которо
Метод Character.isWhitespace() Метод определяет в Java, является ли указанное значение типа char пустым пространством, которое включает в себя пробел, табуляцию или новую строку. @java_geek

Могут ли нестатические методы перегрузить статические? Да. В итоге получится два разных метода. Статический будет принадлежать классу и будет доступен через его имя, а нестатический будет принадлежать конкретному объекту и доступен через вызов метода этого объекта. @java_geek

Получение обратного массива Используем библиотеку Apache Commons Lang. Библиотека Apache Commons Lang представляет собой набо
Получение обратного массива Используем библиотеку Apache Commons Lang. Библиотека Apache Commons Lang представляет собой набор служебных классов для упрощения работы с классами пакета java.lang.*. @java_geek

Метод Math.ceil() Метод дает целое число с нулевой дробной частью, ближайшее к числу аргумента справа, другими словами — окру
Метод Math.ceil() Метод дает целое число с нулевой дробной частью, ближайшее к числу аргумента справа, другими словами — округляет дробь в большую сторону. Возвращается переменная типа double. @java_geek

Валидация даты из строки Если необходимо достать объект Date из обычной строки в Java, можете использовать небольшой утилитны
Валидация даты из строки Если необходимо достать объект Date из обычной строки в Java, можете использовать небольшой утилитный класс, который приведен выше. Он позаботится обо всех сложностях валидации и преобразовании строки в объект Date. @java_geek

Почему в некоторых интерфейсах вообще не определяют методов? Это так называемые маркерные интерфейсы. Они просто указывают что класс относится к определенному типу. Примером может послужить интерфейс Clonable, который указывает на то, что класс поддерживает механизм клонирования. @java_geek

Переопределение (overriding) В терминах ООП переопределение значит перезапись функционала существующего метода. Если класс на
Переопределение (overriding) В терминах ООП переопределение значит перезапись функционала существующего метода. Если класс наследует метод из своего суперкласса, тогда есть шанс переопределить взятый метод, если он не помечен final. Преимущество в Java переопределения заключается в том, что оно позволяет определять (описывать) поведение, характерное для типа подкласса, значит подкласс может реализовать метод родительского класса на основе своих требований. В примере вы можете заметить, что b хоть и является типом Animal, оно запускает метод move в классе Dog. Причина тому такая, что во время компиляции проходит проверка ссылочного типа. Но во время выполнения JVM определяет тип объекта и запускает метод, который принадлежит этому конкретному объекту. Следовательно, программа запустится правильно, так как класс Animal имеет метод move. Затем, во время выполнения, он запускает метод, принадлежащий этому объекту. @java_geek

Метод valueOf() Метод valueOf() возвращает соответствующий числовой объект, содержащий значение переданного аргумента, просты
Метод valueOf() Метод valueOf() возвращает соответствующий числовой объект, содержащий значение переданного аргумента, простыми словами — преобразует в нужный тип данных. Аргумент можно преобразовать в int, double, float и другие типы данных, например, можно преобразовать строку в число. Метод valueOf() в Java является статическим. Он может принимать два аргумента, где один является строкой и другой является системой счисления. @java_geek

Захват координат курсора Чтобы захватить события мыши, необходимо реализовать интерфейс MouseMotionListener. Когда курсор поп
Захват координат курсора Чтобы захватить события мыши, необходимо реализовать интерфейс MouseMotionListener. Когда курсор попадает в определенную область, срабатывает обработчик события mouseMoved, из которого можно получить точные координаты. @java_geek

Удаление элемента массива Использовать этот метод действительно просто. Мы просто предоставляем ему массив, из которого мы хо
Удаление элемента массива Использовать этот метод действительно просто. Мы просто предоставляем ему массив, из которого мы хотели бы удалить элемент, и его индекс. @java_geek

Отправка email Отправить электронную почту на Java очень просто. Вам просто нужно установить Java Mail и указать путь к нему
Отправка email Отправить электронную почту на Java очень просто. Вам просто нужно установить Java Mail и указать путь к нему в пути к классам проекта. @java_geek

Содержимое директории Java позволяет вам получать имена всех подкаталогов и файлов в папке в виде массива, который затем можн
Содержимое директории Java позволяет вам получать имена всех подкаталогов и файлов в папке в виде массива, который затем можно последовательно прочитать. @java_geek

Объединение двух массивов Наиболее лаконичный способ объединить элементы двух массивов – это воспользоваться классом ArrayUti
Объединение двух массивов Наиболее лаконичный способ объединить элементы двух массивов – это воспользоваться классом ArrayUtils из Commons Lang. @java_geek

Создание объектов только при необходимости Создание объектов – одна из самых затратных операций в Java. Лучшая практика – соз
Создание объектов только при необходимости Создание объектов – одна из самых затратных операций в Java. Лучшая практика – создавать их только при необходимости, когда они действительно нужны. @java_geek

Пустая коллекция вместо Null Если ваша программа может возвращать коллекцию, которая не содержит ни одного значения, убедитес
Пустая коллекция вместо Null Если ваша программа может возвращать коллекцию, которая не содержит ни одного значения, убедитесь, что возвращена именно пустая коллекция, а не Null. Это сэкономит вам время на различные проверки. @java_geek

Содержит ли массив указанный элемент Для этого используем прием с представлением массива в виде коллекции и вызовом привычног
Содержит ли массив указанный элемент Для этого используем прием с представлением массива в виде коллекции и вызовом привычного метода contains(). @java_geek

FileOutputStream vs. FileWriter Запись файлов на Java осуществляется двумя способами: FileOutputStream и FileWriter. Какой им
FileOutputStream vs. FileWriter Запись файлов на Java осуществляется двумя способами: FileOutputStream и FileWriter. Какой именно метод выбрать, зависит от конкретной задачи. FileOutputStream предназначен для записи потоков необработанных байтов. Это делает его идеальным решением для работы, например, с изображениями. У FileWriter другое призвание: работа с потоками символов. Так что если вы пишете текстовые файлы, выбирайте этот метод. @java_geek