Рубрики
Без рубрики

Обновления строки API на Java 12

Изучите новые API Java String с примерами

Автор оригинала: Ganesh Pagade.

Обновления строки API на Java 12

1. Введение

Java 12 добавила несколько полезных API в класс String. В этом учебнике мы будем изучать эти новые API с примерами.

2. отступ ()

отступ () метод регулирует отступ каждой строки строки на основе аргумента, переданного ему.

Когда отступ () вызывается на строку, принимаются следующие меры:

  1. Строка концептуально разделена на строки с использованием линии () . —Это API строки, представленный в Java 11 .
  2. Затем каждая строка корректируется на основе int аргумент n перешли к нему, а затем суффиксированы с линией корма “N”.

    1. Если n > 0, потом n пробелы вставляются в начале каждой строки.
    2. Если n < 0, потом до n символы белого пространства удаляются из начала каждой строки. В случае, если данной строки не содержит достаточного белого пространства, то все ведущие символы белого пространства удаляются.
    3. Если n , то линия остается неизменной. Тем не менее, линейные терминаторы все еще нормализовыются.
  3. Полученные линии затем сотрясаются и возвращаются.

Например:

@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 .