Java8 sample code 阅读

阅读了jdk1.8.0_05/sample/lambda/BulkDataOperations/src/CSVProcessor.java
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, 都在向着口语化发展
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值