Массив времени в Java 8

256
19 ноября 2017, 14:06

Вход: 10 20
.......... 23 22

Задача такая: создать массив, где в i-м элементе было бы это время. То есть a[i].getMinutes - вернуло бы 20(22) соответственно. Пробовал создать массив типа Time, но Idea орет на a[i].getMinutes из-за устаревания(?).

В общем, мне нужен аналог DateTime из C#

Answer 1

Можете использовать этот класс LocalDateTime Метод ,который вам нужен getMinute()

Answer 2

Насколько я понял, в данном примере нас интересует только время, поэтому предпочтительнее воспользоваться LocalTime, а не LocalDateTime, который хранит также и информацию о дате. Вот мой код на Java 8.

    public static void main(String[] args) throws IOException {
    List <LocalTime> result = new ArrayList<>();
    Path p = Paths.get("newfile.txt");
    result = Files.lines(p).filter( str -> !str.isEmpty()).map(str -> {
        int hours = Integer.parseInt(str.split(" ")[0]);
        int minutes = Integer.parseInt(str.split(" ")[1]);
        return LocalTime.of(hours, minutes);
    }).collect(Collectors.toList());
    System.out.println(result);
}

Отмечу также, что при чтении файла почему-то добавляются пустые строки, поэтому я добавил фильтр.

READ ALSO
Вычислить выражение, записанное в String

Вычислить выражение, записанное в String

Писал я графический калькулятор и пришла идея записать все выражение в String, то есть пользователь набирает кнопками, то что ему нужно решить,...

370
SQLJ в Java (Intellij idea)

SQLJ в Java (Intellij idea)

ЗдравствуйтеПодскажите, какую библиотеку нужно скачать, или нечто подобное, чтобы работал import oracle

217
Можно ли убить GC в JAVA

Можно ли убить GC в JAVA

Я проходил собеседование и интервьювер задал вопрос, можно ли убить GC в JavaНа дополнительный вопрос, должно ли жить приложение он ответил,...

207
Java преобразование типов

Java преобразование типов

как можно строку или набор charов состоящую из 0 и 1 перевести в boolean?Вроде в с++ это было легко сделать,тк

235