Я пытаюсь преобразовать приведенный ниже традиционный цикл for в Java 8. Я пробовал перебирать цикл с помощью forEach потока и использовал фильтр для проверки contains, но не могу понять, как сделать вызовите метод ExtractForDate() и верните значение. Пожалуйста, можете ли вы помочь с подходом?
for (int i = 0; i < lines.length; i++) {
if (lines.contains(FOR_DATE)) {
String regex = "regex expression";
forDate = extractForDate(lines, regex);
java.sql.Date sd = new java.sql.Date(forDate.getTime())
break;
}
}
Ниже представлена реализация метода.
private static Date extractForDate(String Line, string regex) {
Matcher m = Pattern.compile(regex).matcher(line);
Date startDate = null,
if (m.find()) {
try {
startDate = new SimpleDateFormat("Mddyyyy").parse(m.group(1));
} catch (Exception e) {
throw new RuntimeException(e);
}
}
return startDate;
}
Подробнее здесь: https://stackoverflow.com/questions/718 ... bda-stream