Автор оригинала: Ganesh Pagade.
Обновления строки API на Java 12
1. Введение
Java 12 добавила несколько полезных API в класс String. В этом учебнике мы будем изучать эти новые API с примерами.
2. отступ ()
отступ () метод регулирует отступ каждой строки строки на основе аргумента, переданного ему.
Когда отступ () вызывается на строку, принимаются следующие меры:
- Строка концептуально разделена на строки с использованием линии () . —Это API строки, представленный в Java 11 .
Затем каждая строка корректируется на основе int аргумент n перешли к нему, а затем суффиксированы с линией корма “N”.
- Если n > 0, потом n пробелы вставляются в начале каждой строки.
- Если n < 0, потом до n символы белого пространства удаляются из начала каждой строки. В случае, если данной строки не содержит достаточного белого пространства, то все ведущие символы белого пространства удаляются.
- Если n , то линия остается неизменной. Тем не менее, линейные терминаторы все еще нормализовыются.
- Полученные линии затем сотрясаются и возвращаются.
Например:
@Test public void whenPositiveArgument_thenReturnIndentedString() { String multilineStr = "This is\na multiline\nstring."; String outputStr = " This is\n a multiline\n string.\n"; String postIndent = multilineStr.indent(3); assertThat(postIndent, equalTo(outputStr)); }
Мы также можем пройти отрицательный int уменьшить отступ строки. Например:
@Test public void whenNegativeArgument_thenReturnReducedIndentedString() { String multilineStr = " This is\n a multiline\n string."; String outputStr = " This is\n a multiline\n string.\n"; String postIndent = multilineStr.indent(-2); assertThat(postIndent, equalTo(outputStr)); }
3. трансформировать ()
Мы можем применить функцию к этот строка с использованием трансформировать () метод. Функция должна ожидать одного Струнные аргумент и привести к результату:
@Test public void whenTransformUsingLamda_thenReturnTransformedString() { String result = "hello".transform(input -> input + " world!"); assertThat(result, equalTo("hello world!")); }
Нет необходимости в том, что выход должен быть строкой. Например:
@Test public void whenTransformUsingParseInt_thenReturnInt() { int result = "42".transform(Integer::parseInt); assertThat(result, equalTo(42)); }
4. Заключение
В этой статье мы изучили новые Струнные API в Java 12. Как обычно, фрагменты кода можно найти более на GitHub .