Комментарии (9)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Sergei
Уровень 10
Expert
позавчера, 05:53
Как разделить строку на подстроки по строке-шаблону?
1й вариант: StringTokenizer stringTokenizer = new StringTokenizer(str, delimiter);
2й вариант: String.split(regex);
Как создать массив строк из StringTokenizer?
String[] result = new String[stringTokenizer.countTokens()];
int i = 0;
        while (stringTokenizer.hasMoreTokens()) {
            result[i++] = stringTokenizer.nextToken();
        }
Как создать массив строк из StringBuilder/StringBuffer?
String[] arrays = sb.toString().split(regex);
Sergei
Уровень 10
Expert
позавчера, 00:06
Object Throwable
Sergei
Уровень 10
Expert
29 апреля, 02:46
Работа со строками Разбор методов String от FollowWRabbit java,lang содержит 3 final класса для работы со строками: - String - StringBuilder - StringBuffer ---------------- String методы: --------------------------------Нестатические (экзмеплярные) методы объекта---------------------------------- 1.str.repeat(3) - повторить строку 2. str.codePointAt(0) -> получить Unicode символа 3. str1.concat(str2) -> str1+str2 4. str.hashCode() -> вернет hashCode объекта 5. поиск подстрок в строке 8. сравнение строк 9. создание подстрок: str.replace(), str.trim(),str.substring() (!) Можно делать в виде цепочки методов -------------------------------------------Статические методы класса String-------------------------------------------
String.valueOf()// Преобразовать переменную в String
String.copyValueOf()//Преобразовать char[] в String</<
String.format("Age=%d, Name=%s", age, name); //Создать строку на основе данных
Sergei
Уровень 10
Expert
22 апреля, 22:41
Arrays - в классе Arrays находятся переопределенные методы: - <Object>.equals() -> Arrays.equals() || Arrays.deepEquals(); - <Object>.toString() -> Arrays.toString() || Arrays.deepToString(); - для сортировки Arrays.sort(); - для копирования Arrays.copyOf() || Arrays.copyOfRange()
Sergei
Уровень 10
Expert
8 апреля, 03:05
Как работает компиляция и исполнение Java-приложения + image 1. Компиляция. javac преобразует source-code in byte-code; 2. Интерпретация JVM интерпретирует byte-code; 3. JIT-ускорение Для ускорения работы Java-приложений, JVM использует механизм Just-In-Time компиляции, который преобразует наиболее часто выполняемые участки программы в машинный код и хранит их в памяти.
Sergei
Уровень 10
Expert
3 апреля, 03:19
Хранение одинаковых строк, String Pool + image Встречается в L3.6.4: Интересный нюанс сравнения строк и в статье В Java строки, созданные с использованием двойных кавычек (например, "Это важное смс"), хранятся в памяти как объекты класса String. Когда javac обнаруживает несколько одинаковых строковых литералов в коде, он оптимизирует использование памяти, создавая только один объект String, который затем используется во всех местах, где встречается эта строка. Это называется string pool. Этот пул строк находится в куче (heap) Java-программы, и он представляет собой механизм для повторного использования строковых литералов с целью экономии памяти. Когда вы создаете строку с помощью строкового литерала, Java сначала проверяет пул строк на наличие уже созданной строки с таким же содержимым. Если строка уже есть в пуле, Java использует ее вместо создания нового объекта. ...Только строка, созданная с помощью new... ...не попадает в String Pool: даже если ее текст полностью совпадает с такой же строкой из String Pool. То есть она попадает в отдельную область памяти как новый объект. И каждый раз при создании нового объекта через new в памяти будет выделяться новая область, даже если текст внутри новых строк будет одинаковым! Примечание: это можно обойти через str.intern().
Sergei
Уровень 10
Expert
3 апреля, 02:38
Сравнениe целых чисел: == Сравнениe вещественных чисел : метод для вычисления модуля числа: Math.abs() Сравнениe объектов/строк по ссылке/адресу в памяти: == Сравнениe строк по содержимому с учетом регистра: <Object>.equals() Сравнениe строк по содержимому без учета регистра: <Object>.equalsIgnoreCase() Пример сравнения вещественных чисел: Math.abs(a - b) < 0.0001; double delta = Math.abs(d1 - d2); 💡В Java принято сравнивать строки через <String>.equals(), <String>.equals - это переопределенный метод <Object>.equals, последний сравнивает через ==.
Sergei
Уровень 10
Expert
3 апреля, 02:29
Лайфаки: как писать код быстрее?(1) - команды как statements и как expressions - тернарный оператор; - сравнение double, float через Math.abs(); Пример тернарного оператора:
public static int factorial(int num) {

            return num == 1 ? 1 : num * factorial(num - 1);

        }