Java8 sample code 阅读
程序员文章站
2022-07-14 12:38:00
...
阅读了jdk1.8.0_05/sample/lambda/BulkDataOperations/src/CSVProcessor.java
try(resource) this will cause resource automatically closed after try closure.
it works since 1.7
Returns a sequential Stream with the specified array as its source.
Stream is a new interface of Java 8, with it map iterator can be done in one line.
Returns a stream consisting of the results of applying the given function to the elements of this stream.
Function also a new interface of Java 8. Class::Method can get the Function。
without Java 8, the code will like:
str -> getCell(str, column) is lambda express, it is a Function, like
the code is more readable, 都在向着口语化发展
try (BufferedReader br = new BufferedReader(
Files.newBufferedReader(Paths.get(args[args.length - 1]))))
try(resource) this will cause resource automatically closed after try closure.
it works since 1.7
List<String> header = Arrays.stream(br.readLine().split(","))
.map(String::trim).collect(toList());
static <T> Stream<T> stream(T[] array)
Returns a sequential Stream with the specified array as its source.
Stream is a new interface of Java 8, with it map iterator can be done in one line.
<R> Stream<R> map(Function<? super T,? extends R> mapper)
Returns a stream consisting of the results of applying the given function to the elements of this stream.
Function also a new interface of Java 8. Class::Method can get the Function。
without Java 8, the code will like:
List<String> header = new ArrayList<String>();
String[] hs = br.readLine().split(",");
for(String h:hs){
header.add(h.trim());
}
Comparator<String> cmp
= Comparator.comparing(str -> getCell(str, column),
String.CASE_INSENSITIVE_ORDER);
str -> getCell(str, column) is lambda express, it is a Function, like
String getKey(String str){
return getCell(str, column);
}
the code is more readable, 都在向着口语化发展
上一篇: Hexagon Binutils GNU 手册(8)
下一篇: GNU Binutils