作为一只.NET老猿,一直感觉java代码又臭又长,今天看了下java8的一些新特性,感觉以后的java代码也很精简了。
public void TestingFileReader() {
String filePath = "H:/m.log20191001";
try (
FileReader reader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(reader)
) {
bufferedReader.lines().filter(line -> line.length() > 10).limit(5).forEach(item -> System.out.println(item));
} catch (Exception error) {
error.printStackTrace();
}
}
资源释放用try()里头,这个比C#的using还精简(-_-||)。
还有这种无节操的赋值方法给接口的写法
Random random = new Random(10);
Supplier<Integer> supplier = random::nextInt;
Stream.generate(supplier).filter(i -> i > 5).limit(100).forEachOrdered(i -> {
if (Integer.toString(i).length() > 9) {
System.out.println(i.intValue());
}
});