Объединение строк — одна из наиболее распространенных операций. Сегодня мы рассмотрим некоторые подходы к конкатенации строк и обсудим, как выбрать правильный вариант в зависимости от того, что нам нужно сделать.
Обеспечивает большую гибкость при конкатенации строк по сравнению с другими подходами.
String str1 = "Hello";
String str2 = " World";
System.out.println(str1 + str2);
Этот класс предоставляет метод
append() для выполнения операций объединения, однако этот вариант не потокобезопасен.StringBuilder str1 = new StringBuilder("Hello");
StringBuilder str2 = new StringBuilder(" World");
StringBuilder result = str1.append(str2);
System.out.println(result);Это аналогичный
StringBuilder подход к объединению строк. В отличие от StringBuilder, StringBuffer синхронизирован (т.е. потокобезопасен), однако производительность у него хуже, чем у StringBuilder.StringBuffer str1 = new StringBuffer("Hello");
StringBuffer str2 = new StringBuffer(" World");
StringBuffer result = str1.append(str2);
System.out.println(result);Метод
concat() добавляет указанную строку в конец текущей строки и возвращает новую объединенную строку. Учитывая, что класс String является неизменяемым, исходная строка не изменяется.String str1 = "Hello";
String str2 = " World";
System.out.println(str1.concat(str2));
Этот способ позволяет конкатенировать строки с использованием разделителя.
String result = String.join(" ", "Hello", "World");
System.out.println(result);Первый аргумент из примера является разделителем (" ").
Используя спецификаторы формата, такие как
%s, мы можем объединить несколько строк по их строковому значению или объекту.String str1 = "Hello";
String str2 = " World";
String result = String.format("%s%s", str1, str2);
System.out.println(result);
❤️ — если знал все методы
Please open Telegram to view this post
VIEW IN TELEGRAM
На данном этапе автор показывает, как добавить поддержку баз данных в проект и сохранять в таблицу данные о пользователях, которые пишут боту.
🔖 Предыдущая часть — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6🔥3💯1
Ааа! Из реакций пропал енот! 🕺
Голосуйте за канал, чтобы вернуть его:
https://news.1rj.ru/str/boost/senior_javist
Голосуйте за канал, чтобы вернуть его:
https://news.1rj.ru/str/boost/senior_javist
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣25🤯10❤4🤔3👀3
Doxygen — это кроссплатформенная система документирования исходных текстов, которая поддерживает C++, Си, Objective-C, Python, Java, PHP, C# и другие.
Пример шаблонного документирования класса:
/**
* Описание класса.
*/
public class MyClass {
// код класса
}
Пример документирования при помощи Doxygen:
/**
* Описание класса.
*/
public class MyClass {
/**
* Описание метода.
* @param param Описание параметра.
* @return Описание возвращаемого значения.
*/
public int myMethod(int param) {
// код метода
return param;
}
}
Doxygen сгенерирует документацию, включая описание класса и метода, а также информацию о параметрах и возвращаемом значении.
50❤️ — и выходит следующий пост
Please open Telegram to view this post
VIEW IN TELEGRAM
❤63👍8💯2
Как вы добавите Component Scan в Spring Boot?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍5❤4
В данной статье автор делится инструкцией, как подключить платежи к своему Telegram боту, а затем настроить реферальную систему продаж «Приведи друга».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤1
Учитывая целое число
x, верните true, если x является палиндромом, и false в противном случае.Пример 1:
Входные данные:
x = 121Вывод:
trueПояснение:
121 читается как 121 слева направо и справа налево.Пример 2:
Входные данные:
x = -121Вывод:
falseПояснение:
Слева направо читается -121. Справа налево становится 121-. Следовательно, это не палиндром.Пример 3:
Входные данные:
x = 10Вывод:
falseПояснение:
Читается 01 справа налево. Следовательно, это не палиндром.Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍8
GeoServer — это сервер с открытым исходным кодом, написанный на Java, который позволяет пользователям обмениваться геоданными и редактировать их.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣51🤯6👍3😁1
👍9🔥2
На данном этапе автор показывает, как добавить поддержку смайликов нашему боту. Также их можно будет использовать в интерактивных кнопках, которые будут добавлены в следующем видео.
🔖 Предыдущая часть — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍2💯2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁48👍10🤣6
Хотя и метод
wait(), и метод sleep() можно использовать для приостановки потока, между ними существует разница, о которой вы скоро узнаете.1. Синхронизированный контекст
Метод
wait() должен вызываться из синхронизированного контекста (может быть синхронизированным блоком или методом), тогда как метод sleep() может быть вызван из синхронизированного блока без него.2. Снятие блокировки
Когда вы вызываете метод
wait(), поток снимает блокировку, которую он удерживал. А вот после вызова метода sleep() поток продолжает удерживать блокировку.3. Пробуждение
Поток, вызвавший
wait(), может быть разбужен (woken up) другими потоками с помощью вызова методов notify() и notifyAll(). При этом спящий поток не может быть разбужен другим потоком до истечения времени ожидания, но другой поток всегда может прервать спящий поток.4. Различия в вызове
Самое важное различие между методами
wait() и sleep() заключается в том, что вы вызываете wait() для объектов, то есть монитора, а метод sleep() вызывается для Thread.5. Состояние
После вызова метода
wait() поток переходит в состояние WAITING, а после вызова метода sleep() поток переходит в состояние TIMED_WAITING.❕ В перечисленных выше причинах и заключается разница между методами wait() и sleep() в Java. Как я уже сказал, sleep() — это самый простой способ перевести поток в спящий режим на ограниченное время, тогда как wait() — это более сложный способ взаимодействия между потоками в Java.
70🏆 — и выпускаю следующий пост
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆80❤5👍4
Какое худшее время работы метода
contains() для элемента, который есть в ArrayList?Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤2
На данном этапе автор показывает, как добавить поддержку экранной клавиатуры ReplyKeyboard.
С её помощью реализуется общение пользователя с ботом более простым способом — вместо набора команды можно просто будет нажать на соответствующую кнопку на экране.
🔖 Предыдущая часть — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3
Учитывая две строки
needle и haystack, верните индекс первого появления needle в haystack или -1, если needle не является частью haystack.Пример 1:
Входные данные:
haystack = "sadbutsad", needle = "sad"Вывод:
0Пояснение:
"sad" встречается под индексами 0 и 6. Первое вхождение происходит под индексом 0, поэтому мы возвращаем 0.Пример 2:
Входные данные:
haystack = "leetcode", needle = "leeto"Вывод:
-1Пояснение:
"leeto" не встречается в "leetcode", поэтому мы возвращаем значение -1.Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3🤣1
Благодаря данной статье вы ознакомитесь с алгоритмом Бойера-Мура-Хорспула и узнаете, как с его помощью решить задачу с LeetCode.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥1
Ta4j — это библиотека Java для анализа и прогнозирования направления движения цен на основе изучения прошлых рыночных данных.
Библиотека предоставляет базовые компоненты для оценки и прогнозирования торговых стратегий.
Зависимость Maven:
<dependency>
<groupId>org.ta4j</groupId>
<artifactId>ta4j-core</artifactId>
<version>0.16</version>
</dependency>
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🤯10🔥2🤣2