作为一只.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()); } });