在for循环和过滤方面,在Java 8中编写以下代码的最佳方法是什么?
boolean flag = true;
List<Feed> availableFeeds = data.getAvailableFeeds();
for (Feed feedElement : availableFeeds) {
String type = feedElement.getType();
if ("MatchState".equals(type)) {
flag = false;
break;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个地图列表,其中每个地图只有one key-value pair一个。我需要将其转换为仅键列表。我正在尝试使用流,如下所示:
List<Map<Long, String>> lst = // some data
List<Long> successList = lst.stream().map(ele -> ele.keySet().toArray()[0]).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
但是我最终收到以下错误:
java: incompatible types: inference variable T has incompatible bounds
equality constraints: java.lang.Long
lower bounds: java.lang.Object
Run Code Online (Sandbox Code Playgroud)
如何解决此问题,或者有什么更好的方法?
为什么不能 convert java.util.stream.IntStream to java.util.stream.Stream<? extends R>
Stream<String> streamOfStrings = Stream.of("hello", "world");
streamOfStrings.flatMap(String::chars).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
此代码给出了编译错误
Bad return type in method reference: cannot convert java.util.stream.IntStream to java.util.stream.Stream<? extends R>
Run Code Online (Sandbox Code Playgroud)