我有一个可选的整数列表.我希望看看列表是否实际存在,然后将其转换为流.一种方法是这样做
Optional<List<Integer>> listOfNumbers = ...
if (listOfNumbers.isPresent()) {
listOfNumbers.get().stream();
}
Run Code Online (Sandbox Code Playgroud)
但是,如果有条件,我不希望这样.我搜索并看到它ifPresent()做同样的事情,但当我这样做时listOfNumbers.ifPresent(this::get)),我收到以下错误:
非静态变量,不能从静态上下文引用
能否以有效的方式帮助我做到这一点?这对我来说还是新的,所以如果我的理解有任何不正确的地方,请告诉我.
我的需要是我有一个Long值,它代表自epoch以来的毫秒值.我希望了解当天和当天之间的天数差异.我正在使用Java8DAYS.between(inputDate, currentDate)
对于我使用的currentDate LocalDateTime currentDate = LocalDateTime.now();
但是我面临的问题是当我将long值转换为java8 LocalDateTime时.我用的时候
LocalDate date = Instant.ofEpochMilli(1490372528)
.atZone(ZoneId.systemDefault())
.toLocalDate();
Run Code Online (Sandbox Code Playgroud)
结果是1970-01-18当我在https://www.epochconverter.com/中输入相同的值时,它给出了Fri, 24 Mar 2017 16:22:08 GMT
为什么会出现这种差异?如何从长值中有效地获取java8日期以在DAYS.between()中使用?