Questions tagged «java-8»

对于2014年3月18日发行的Java平台的第8版(内部版本1.8)特定于Java 8的问题,请使用此标记。在大多数情况下,您还应该指定java标记。



11
接口中静态方法和默认方法之间的区别
当我发现您现在可以在接口中定义静态和默认方法时,我正在通过接口进行学习。 public interface interfacesample2 { public static void method() { System.out.println("hello world"); } public default void menthod3() { System.out.println("default print"); } } 请解释两者的区别,并且如果有一个示例说明何时使用它会很好。在接口上有些困惑。
107 java  java-8 



6
为什么java.util.Optional不可序列化,如何使用此类字段序列化对象
Enum类是可序列化的,因此使用枚举序列化对象没有问题。另一种情况是class具有java.util.Optional类的字段。在这种情况下,将引发以下异常:java.io.NotSerializableException:java.util.Optional 如何处理此类,如何序列化它们?是否可以将此类对象发送到远程EJB或通过RMI? 这是示例: import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.Optional; import org.junit.Test; public class SerializationTest { static class My implements Serializable { private static final long serialVersionUID = 1L; Optional<Integer> value = Optional.empty(); public void setValue(Integer i) { this.i = Optional.of(i); } public Optional<Integer> getValue() { return …


20
从流中收集连续对
给定流如 { 0, 1, 2, 3, 4 }, 如何最优雅地将其转换为给定形式: { new Pair(0, 1), new Pair(1, 2), new Pair(2, 3), new Pair(3, 4) } (当然,假设我已经定义了Pair类)? 编辑:这不完全是关于整数或原始流。对于任何类型的流,答案应该是通用的。
102 java  java-8  java-stream 

6
如何从LocalDate和LocalDateTime中提取纪元?
如何Long从LocalDateTime或的实例提取纪元值LocalDate?我已经尝试了以下方法,但是它给了我其他结果: LocalDateTime time = LocalDateTime.parse("04.02.2014 19:51:01", DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss")); System.out.println(time.getLong(ChronoField.SECOND_OF_DAY)); // gives 71461 System.out.println(time.getLong(ChronoField.EPOCH_DAY)); // gives 16105 我想要的只是1391539861本地datetime 的值"04.02.2014 19:51:01"。我的时区是Europe/Oslo夏令时的UTC + 1。
102 java  time  java-8  epoch  java-time 

9
怎么把ZonedDateTime转换成日期?
我正在尝试在数据库中设置服务器不可知日期时间,并且我相信这样做的最佳做法是设置UTC DateTime。我的数据库服务器是Cassandra,Java的数据库驱动程序仅理解Date类型。 因此,假设在我的代码中我正在使用新的Java 8 ZonedDateTime立即获取UTC(ZonedDateTime.now(ZoneOffset.UTC)),如何将ZonedDateTime实例转换为“旧版” Date类?

5
什么时候应该使用流?
使用a List及其stream()方法时,我刚遇到一个问题。虽然我知道如何使用它们,但是我不确定何时使用它们。 例如,我有一个列表,其中包含到不同位置的各种路径。现在,我想检查一个给定的路径是否包含列表中指定的任何路径。我想boolean根据是否满足条件返回一个。 当然,这本身并不是一项艰巨的任务。但是我想知道我应该使用流还是for(-each)循环。 名单 private static final List<String> EXCLUDE_PATHS = Arrays.asList(new String[]{ "my/path/one", "my/path/two" }); 示例-流 private boolean isExcluded(String path){ return EXCLUDE_PATHS.stream() .map(String::toLowerCase) .filter(path::contains) .collect(Collectors.toList()) .size() > 0; } 示例-每次循环 private boolean isExcluded(String path){ for (String excludePath : EXCLUDE_PATHS) { if(path.contains(excludePath.toLowerCase())){ return true; } } return false; } 请注意,该path参数始终为小写。 …

9
Java 8中的多个空检查
我有下面的代码,对于多个空检查来说有点难看。 String s = null; if (str1 != null) { s = str1; } else if (str2 != null) { s = str2; } else if (str3 != null) { s = str3; } else { s = str4; } 因此,我尝试使用Optional.ofNullable如下所示的方法,但是如果有人阅读了我的代码,仍然很难理解。用Java 8最好的方法是什么 String s = Optional.ofNullable(str1) .orElse(Optional.ofNullable(str2) .orElse(Optional.ofNullable(str3) .orElse(str4))); 在Java …

9
外行的Java 8供应商和消费者说明
作为学习Java的非Java程序员,我现在正在阅读Supplier和Consumer接口。而且我无法理解它们的用法和含义。什么时候以及为什么要使用这些接口?有人可以给我一个简单的外行例子吗?我发现Doc例子不够简洁,无法理解。
99 java  java-8 


5
从Java中的lambda forEach()返回
我试图将一些for-each循环更改为lambda- forEach()方法,以发现lambda表达式的可能性。以下似乎是可能的: ArrayList<Player> playersOfTeam = new ArrayList<Player>(); for (Player player : players) { if (player.getTeam().equals(teamName)) { playersOfTeam.add(player); } } 带lambda forEach() players.forEach(player->{if (player.getTeam().equals(teamName)) {playersOfTeam.add(player);}}); 但是下一个无效: for (Player player : players) { if (player.getName().contains(name)) { return player; } } 带lambda players.forEach(player->{if (player.getName().contains(name)) {return player;}}); 最后一行的语法是否有问题,或者不可能从forEach()方法中返回?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.