Метод Math.ceil()
Метод дает целое число с нулевой дробной частью, ближайшее к числу аргумента справа, другими словами — округляет дробь в большую сторону. Возвращается переменная типа double.
@java_geek
Метод дает целое число с нулевой дробной частью, ближайшее к числу аргумента справа, другими словами — округляет дробь в большую сторону. Возвращается переменная типа double.
@java_geek
Получение обратного массива
Используем библиотеку Apache Commons Lang.
Библиотека Apache Commons Lang представляет собой набор служебных классов для упрощения работы с классами пакета java.lang.*.
@java_geek
Используем библиотеку Apache Commons Lang.
Библиотека Apache Commons Lang представляет собой набор служебных классов для упрощения работы с классами пакета java.lang.*.
@java_geek
Могут ли нестатические методы перегрузить статические?
Да. В итоге получится два разных метода. Статический будет принадлежать классу и будет доступен через его имя, а нестатический будет принадлежать конкретному объекту и доступен через вызов метода этого объекта.
@java_geek
Да. В итоге получится два разных метода. Статический будет принадлежать классу и будет доступен через его имя, а нестатический будет принадлежать конкретному объекту и доступен через вызов метода этого объекта.
@java_geek
👍1
Метод Character.isWhitespace()
Метод определяет в Java, является ли указанное значение типа char пустым пространством, которое включает в себя пробел, табуляцию или новую строку.
@java_geek
Метод определяет в Java, является ли указанное значение типа char пустым пространством, которое включает в себя пробел, табуляцию или новую строку.
@java_geek
👍1
К каким конструкциям Java применим модификатор static?
• полям;
• методам;
• вложенным классам;
• членам секции import.
@java_geek
• полям;
• методам;
• вложенным классам;
• членам секции import.
@java_geek
👍5
Популярные ошибки начинающих Java программистов
Часто начинающие Java программисты ошибаются в попытке удалить элемент во время обхода списка.
Рассмотрим пример кода, в котором происходит попытка удалить элемент во время обхода элементов списка(#неверно на картинке).
В ходе выполнения этого кода будет выброшено
Удалять элементы безопасно можно только при использовании интерфейса Iterator(см #верно на картинке).
@java_geek
Часто начинающие Java программисты ошибаются в попытке удалить элемент во время обхода списка.
Рассмотрим пример кода, в котором происходит попытка удалить элемент во время обхода элементов списка(#неверно на картинке).
В ходе выполнения этого кода будет выброшено
ConcurrentModificationException
, так как нельзя удалять элементы во время итерирования по списку. Такая же ситуация будет и с for-each циклом.Удалять элементы безопасно можно только при использовании интерфейса Iterator(см #верно на картинке).
@java_geek
👍6🎄3
Сравнение Iterator и ListIterator
• ListIterator расширяет интерфейс Iterator
• ListIterator может быть использован только для перебора элементов коллекции List;
• Iterator позволяет перебирать элементы только в одном направлении, при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous();
• ListIterator не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous() и next().
• При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала.
@java_geek
• ListIterator расширяет интерфейс Iterator
• ListIterator может быть использован только для перебора элементов коллекции List;
• Iterator позволяет перебирать элементы только в одном направлении, при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous();
• ListIterator не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous() и next().
• При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала.
@java_geek
Что такое литералы?
Литералы — это явно заданные значения в коде программы, константы определенного типа, которые находятся в коде в момент запуска.
В классе на картинке “Hello world!” — литерал, переменная a — тоже.
Литералы бывают разных типов, которые определяются их назначением и способом написания.
@java_geek
Литералы — это явно заданные значения в коде программы, константы определенного типа, которые находятся в коде в момент запуска.
В классе на картинке “Hello world!” — литерал, переменная a — тоже.
Литералы бывают разных типов, которые определяются их назначением и способом написания.
@java_geek
👍1
Метод trimToSize()
Метод
@java_geek
Метод
trimToSize()
класса ArrayList
в Java обрезает емкость экземпляра ArrayList
до текущего размера списка. Этот метод используется для обрезки экземпляра ArrayList
по числу содержащихся в нем элементов.@java_geek
👍2
Метод rotate()
Метод
@java_geek
Метод
java.util.Collections.rotate()
присутствует в классе java.util.Collections
. Используется для поворота элементов, присутствующих в указанном списке Коллекции, на заданное расстояние.@java_geek
👍3❤1
Что вы знаете о OutOfMemoryError?
OutOfMemoryError выбрасывается, когда виртуальная машина Java не может создать (разместить) объект из-за нехватки памяти, а сборщик мусора не может высвободить достаточное её количество.
Область памяти, занимаемая java процессом, состоит из нескольких частей. Тип OutOfMemoryError зависит от того, в какой из них не хватило места:
• java.lang.OutOfMemoryError: Java heap space: Не хватает места в куче, а именно, в области памяти в которую помещаются объекты, создаваемые в приложении программно. Обычно проблема кроется в утечке памяти. Размер задается параметрами -Xms и -Xmx.
• java.lang.OutOfMemoryError: PermGen space: (до версии Java 8 ) Данная ошибка возникает при нехватке места в Permanent области, размер которой задается параметрами -XX:PermSize и -XX:MaxPermSize.
• java.lang.OutOfMemoryError: GC overhead limit exceeded: Данная ошибка может возникнуть как при переполнении первой, так и второй областей. Связана она с тем, что памяти осталось мало и сборщик мусора постоянно работает, пытаясь высвободить немного места. Данную ошибку можно отключить с помощью параметра -XX:-UseGCOverheadLimit.
• java.lang.OutOfMemoryError: unable to create new native thread: Выбрасывается, когда нет возможности создавать новые потоки.
@java_geek
OutOfMemoryError выбрасывается, когда виртуальная машина Java не может создать (разместить) объект из-за нехватки памяти, а сборщик мусора не может высвободить достаточное её количество.
Область памяти, занимаемая java процессом, состоит из нескольких частей. Тип OutOfMemoryError зависит от того, в какой из них не хватило места:
• java.lang.OutOfMemoryError: Java heap space: Не хватает места в куче, а именно, в области памяти в которую помещаются объекты, создаваемые в приложении программно. Обычно проблема кроется в утечке памяти. Размер задается параметрами -Xms и -Xmx.
• java.lang.OutOfMemoryError: PermGen space: (до версии Java 8 ) Данная ошибка возникает при нехватке места в Permanent области, размер которой задается параметрами -XX:PermSize и -XX:MaxPermSize.
• java.lang.OutOfMemoryError: GC overhead limit exceeded: Данная ошибка может возникнуть как при переполнении первой, так и второй областей. Связана она с тем, что памяти осталось мало и сборщик мусора постоянно работает, пытаясь высвободить немного места. Данную ошибку можно отключить с помощью параметра -XX:-UseGCOverheadLimit.
• java.lang.OutOfMemoryError: unable to create new native thread: Выбрасывается, когда нет возможности создавать новые потоки.
@java_geek
👍2👏1
Как преобразовать цветное изображение в черно-белое
Иногда может потребоваться преобразовать изображение в двоичное. Другими словами, вам нужно преобразовать цветное изображение или изображение в оттенках серого в черно-белое изображение.
@java_geek
Иногда может потребоваться преобразовать изображение в двоичное. Другими словами, вам нужно преобразовать цветное изображение или изображение в оттенках серого в черно-белое изображение.
@java_geek
👍3🔥2🍓1
Метод compareTo()
В Java метод
@java_geek
В Java метод
compareTo()
получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.@java_geek
👍4
Форматирование строк
Класс
@java_geek
Класс
String
предоставляет возможность создания форматированных строк. За это отвечает статический метод format.@java_geek
Клонирование массивов
Когда вы клонируете одномерный массив, такой как
Подробнее с методом
@java_geek
Когда вы клонируете одномерный массив, такой как
Object[]
, выполняется «глубокая копия» с новым массивом, содержащим копии элементов исходного массива, а не ссылки.Подробнее с методом
clone()
можно ознакомиться здесь.@java_geek
Зубчатый массив в Java
Зубчатый массив — это массив массивов, в котором массивы элементов могут быть разных размеров, т. е. мы можем создать двумерный массив, но с переменным числом столбцов в каждой строке. Эти типы массивов также известны как зубчатые массивы.
@java_geek
Зубчатый массив — это массив массивов, в котором массивы элементов могут быть разных размеров, т. е. мы можем создать двумерный массив, но с переменным числом столбцов в каждой строке. Эти типы массивов также известны как зубчатые массивы.
@java_geek
👍5
Метод startsWith()
Метод startsWith() в Java имеет два варианта и проверяет, начинается ли строка с указанного префикса, начиная с указанного индекса или с начала (по умолчанию).
@java_geek
Метод startsWith() в Java имеет два варианта и проверяет, начинается ли строка с указанного префикса, начиная с указанного индекса или с начала (по умолчанию).
@java_geek
❤1👍1
Метод lastIndexOf()
Метод lastIndexOf() в Java имеет следующие варианты:
int lastIndexOf(int ch) — возвращает индекс в данной строке последнего вхождения указанного символа или -1, если символ не встречается.
public int lastIndexOf(int ch, int fromIndex) — возвращает индекс последнего вхождения символа в символьной последовательности, представленной данным объектом, который меньше или равен fromIndex, или -1, если символ не встречается до этой точки.
public int lastIndexOf(String str) — если аргумент строки встречается один или несколько раз в подстроке в этом объекте, то он возвращает индекс первого символа последней такой подстроки.
public int lastIndexOf(String str, int fromIndex) — возвращает индекс внутри данной строки последнего вхождения указанной подстроки, поиск осуществляется назад, начиная с указанного индекса.
Параметры:
ch — символ;
fromIndex — индекс, чтобы начать поиск (от);
str — строка.
@java_geek
Метод lastIndexOf() в Java имеет следующие варианты:
int lastIndexOf(int ch) — возвращает индекс в данной строке последнего вхождения указанного символа или -1, если символ не встречается.
public int lastIndexOf(int ch, int fromIndex) — возвращает индекс последнего вхождения символа в символьной последовательности, представленной данным объектом, который меньше или равен fromIndex, или -1, если символ не встречается до этой точки.
public int lastIndexOf(String str) — если аргумент строки встречается один или несколько раз в подстроке в этом объекте, то он возвращает индекс первого символа последней такой подстроки.
public int lastIndexOf(String str, int fromIndex) — возвращает индекс внутри данной строки последнего вхождения указанной подстроки, поиск осуществляется назад, начиная с указанного индекса.
Параметры:
ch — символ;
fromIndex — индекс, чтобы начать поиск (от);
str — строка.
@java_geek
👍2
Одинарные и двойные кавычки
Что ожидается в результате выполнения кода с картинки?
Казалось бы, строка должна возвращать «HaHa», но на самом деле это будет «Ha169».
Двойные кавычки обрабатывают символы как строки, но одинарные кавычки ведут себя иначе. Они преобразуют символьные операнды ('H' и 'a') в целые значения посредством расширения примитивных типов — получается 169.
@java_geek
Что ожидается в результате выполнения кода с картинки?
Казалось бы, строка должна возвращать «HaHa», но на самом деле это будет «Ha169».
Двойные кавычки обрабатывают символы как строки, но одинарные кавычки ведут себя иначе. Они преобразуют символьные операнды ('H' и 'a') в целые значения посредством расширения примитивных типов — получается 169.
@java_geek
👍1
Чем отличаются конструктор по-умолчанию, конструктор копирования и конструктор с параметрами?
У конструктора по умолчанию отсутствуют какие-либо аргументы. Конструктор копирования принимает в качестве аргумента уже существующий объект класса для последующего создания его клона. Конструктор с параметрами имеет в своей сигнатуре аргументы (обычно необходимые для инициализации полей класса).
@java_geek
У конструктора по умолчанию отсутствуют какие-либо аргументы. Конструктор копирования принимает в качестве аргумента уже существующий объект класса для последующего создания его клона. Конструктор с параметрами имеет в своей сигнатуре аргументы (обычно необходимые для инициализации полей класса).
@java_geek
😁1