- Многострочная строка Java
- 2. Текстовые блоки
- 3. Получение разделителя строк
- 4. Конкатенация строк
- 5. Соединение строк
- 6. Конструктор строк
- 7. Строковый писатель
- 8. Столяр из гуавы
- 9. Загрузка из файла
- 10. Использование функций IDE
- 11. Заключение
- Многострочные строки в Java
- Способ 1: Простая конкатенация
- Способ 2: Использование StringBuilder
- Способ 3: Использование String.format
- Способ 4: Java 8 — String.join
- Способ 5: Java 15 — текстовые блоки
- Способ 6: Хранение строк во внешних файлах
- Комментарии ( 0 ):
Многострочная строка Java
В этой статье мы узнаем, как объявлять многострочные строки в Java.
Теперь, когда вышла Java 15, мы можем использовать новую встроенную функцию, называемую текстовыми блоками.
Мы также рассмотрим другие методы, если мы не можем использовать эту функцию.
2. Текстовые блоки
Мы можем использовать текстовые блоки , объявив строку с помощью «» (три двойных кавычки) :
public String textBlocks() return """ Get busy living or get busy dying. --Stephen King"""; >
На сегодняшний день это самый удобный способ объявить многострочную строку. Действительно, нам не нужно иметь дело с разделителями строк или отступами , как мы можем прочитать в нашей специальной статье .
Эта функция доступна в Java 15, а также в Java 13 и 14, если мы включим функцию предварительного просмотра .
В следующих главах мы рассмотрим другие методы, подходящие, если мы используем предыдущую версию Java или если текстовые блоки неприменимы.
3. Получение разделителя строк
Каждая операционная система может иметь свой собственный способ определения и распознавания новых строк. В Java очень легко получить разделитель строк операционной системы:
String newLine = System.getProperty("line.separator");
Мы собираемся использовать эту новую строку в следующих разделах для создания многострочных строк.
4. Конкатенация строк
Конкатенация строк — это простой нативный метод, который можно использовать для создания многострочных строк:
public String stringConcatenation() return "Get busy living" .concat(newLine) .concat("or") .concat(newLine) .concat("get busy dying.") .concat(newLine) .concat("--Stephen King"); >
Использование оператора + — это еще один способ добиться того же. Компиляторы Java переводят concat() и оператор + одинаково:
public String stringConcatenation() return "Get busy living" + newLine + "or" + newLine + "get busy dying." + newLine + "--Stephen King"; >
5. Соединение строк
Java 8 представила String#join , который принимает разделитель вместе с некоторыми строками в качестве аргументов. Он возвращает окончательную строку, в которой все входные строки объединены разделителем:
public String stringJoin() return String.join(newLine, "Get busy living", "or", "get busy dying.", "--Stephen King"); >
6. Конструктор строк
StringBuilder — это вспомогательный класс для создания String s. StringBuilder появился в Java 1.5 как замена StringBuffer . Это хороший выбор для построения огромных строк в цикле:
public String stringBuilder() return new StringBuilder() .append("Get busy living") .append(newLine) .append("or") .append(newLine) .append("get busy dying.") .append(newLine) .append("--Stephen King") .toString(); >
7. Строковый писатель
StringWriter — это еще один метод, который мы можем использовать для создания многострочной строки. Здесь нам не нужна новая строка , потому что мы используем PrintWriter . Функция println автоматически добавляет новые строки:
public String stringWriter() StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter); printWriter.println("Get busy living"); printWriter.println("or"); printWriter.println("get busy dying."); printWriter.println("--Stephen King"); return stringWriter.toString(); >
8. Столяр из гуавы
Использование внешней библиотеки только для такой простой задачи не имеет особого смысла, однако, если проект уже использует библиотеку для других целей, мы можем ее использовать. Например, очень популярна библиотека Google Guava. В Guava есть класс Joiner , который может создавать многострочные строки:
public String guavaJoiner() return Joiner.on(newLine).join(ImmutableList.of("Get busy living", "or", "get busy dying.", "--Stephen King")); >
9. Загрузка из файла
Java читает файлы такими, какие они есть. Это означает, что если у нас есть многострочная строка в текстовом файле, у нас будет такая же строка при чтении файла. В Java существует множество способов чтения из файла .
На самом деле рекомендуется отделять длинные строки от кода:
public String loadFromFile() throws IOException return new String(Files.readAllBytes(Paths.get("src/main/resources/stephenking.txt"))); >
10. Использование функций IDE
Многие современные IDE поддерживают многострочное копирование/вставку. Примерами таких IDE являются Eclipse и IntelliJ IDEA. Мы можем просто скопировать нашу многострочную строку и вставить ее внутрь двух двойных кавычек в этих IDE.
Очевидно, что этот метод не работает для создания строки во время выполнения, но это быстрый и простой способ получить многострочную строку.
11. Заключение
В этом руководстве мы изучили несколько методов построения многострочных строк в Java.
Хорошей новостью является то, что Java 15 имеет встроенную поддержку многострочных строк с помощью текстовых блоков .
Все остальные рассмотренные методы можно использовать в Java 15 или любой предыдущей версии.
Код всех методов из этой статьи доступен на Github .
Многострочные строки в Java
При написании программ на Java, может возникнуть потребность в использовании многострочных констант. Для тех, только начинает изучать язык Java это может оказаться нетривиальной задачей, так как чем длиннее будет строка, тем сложнее будет ее понять.
Далее я покажу Вам несколько способов, как можно создавать длинные строки в Java без ущерба для их понимания и читабельности.
Способ 1: Простая конкатенация
String str = «Это просто длинная многострочная строка,\n»
+ «Это просто длинная многострочная строка,\n»
+ «Это просто длинная многострочная строка,\n»
+ «Это просто длинная многострочная строка,\n»
+ «Это просто длинная многострочная строка,\n»;
Способ 2: Использование StringBuilder
String str = new StringBuilder()
.append(«Это просто длинная многострочная строка,\n»)
.append(«Это просто длинная многострочная строка,\n»)
.append(«Это просто длинная многострочная строка,\n»)
.append(«Это просто длинная многострочная строка,\n»)
.append(«Это просто длинная многострочная строка,\n»)
.toString();
Способ 3: Использование String.format
%s — это спецификатор строки (шаблон), который будет заменен на строку.
String s = String.format(«%s\n%s\n%s\n%s\n%s\n%s»
, «Это просто длинная многострочная строка,»
, «Это просто длинная многострочная строка,»
, «Это просто длинная многострочная строка,»
, «Это просто длинная многострочная строка,»
, «Это просто длинная многострочная строка,»
, «Это просто длинная многострочная строка,»
);
Способ 4: Java 8 — String.join
Собирает несколько строк в одно, в качестве строки-соединителя используется символ перевод строки
String s = String.join(«\n»
, «Это просто длинная многострочная строка,»
, «Это просто длинная многострочная строка,»
, «Это просто длинная многострочная строка,»
, «Это просто длинная многострочная строка,»
);
Способ 5: Java 15 — текстовые блоки
String sql = «»»
SELECT
product.name,
product.price,
product.quantity
FROM
products_history_db product
WHERE
product.name like ‘%телевизор%’
«»»;
Способ 6: Хранение строк во внешних файлах
String str = Files.readAllLines(Paths.get(«strings.txt»));
Таким образом, вот так в Java можно создавать многострочные текстовые блоки. Вам лишь остается выбрать наиболее удобный для Вас способ.
Создано 29.06.2021 10:53:55
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 0 ):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.