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

Java 8 – Преобразование необязательного <Строка> в строку

– Java 8 – Преобразование необязательного <Строка> в строку

В Java 8 мы можем использовать .map (Объект::toString) для преобразования Необязательной <Строки> в Строку .

  String result = list.stream()
              .filter(x -> x.length() == 1)
              .findFirst()  // returns Optional
              .map(Object::toString)
              .orElse("");

Образцы

Стандартный Необязательный способ получения значения.

package com.mkyong;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;

public class Java8Example1 {

    public static void main(String[] args) {

        List list = Arrays.asList("a", "b", "c", "d", "e");

        Optional result = list.stream()
          .filter(x -> x.length() == 1)
          .findFirst();

        if (result.isPresent()) {
            System.out.println(result.get()); // a
        }

    }

}

Выход

a

Попробуйте сопоставить (объект::toString)

package com.mkyong;

import java.util.Arrays;
import java.util.List;

public class Java8Example2 {

    public static void main(String[] args) {

        List list = Arrays.asList("a", "b", "c", "d", "e");

        String s = list.stream().filter(x -> x.length() == 1)
                .findFirst()
                .map(Object::toString)
                .orElse(null);

        System.out.println(s); // a
    }

}

Выход

a

Рекомендации

Оригинал: “https://mkyong.com/java8/java-8-convert-optionalstring-to-string/”