你还在用老旧的Java API?

199 阅读1分钟

Java8 提供很多新的Api接口,平时写代码时觉得非常便利,写出来总结一下。

文件操作

@org.junit.Test
  public void fileTest() throws IOException {
    // 读文件
    Path path = Paths.get("pom.xml");
    Files.readAllLines(path).forEach(System.out::println);

    // 写入文件,并创建出文件
    Path path1 = Paths.get("test.txt");
    Files.write(path1, "Hello\nWorld".getBytes());

    // 文件存在,添加内容
    Files.write(path1, "\nVertx !!!".getBytes(), StandardOpenOption.APPEND);
  }

超级便利,超级好用,不需要处理一堆流。还有很多方法,可以自行研究测试

字符串操作

 @org.junit.Test
  public void stringTest() {
    // 1,2,3,4,5,6
    List<String> list = Stream.of("1", "2", "3", "4", "5", "6").collect(Collectors.toList());
    String s = String.join(",", list);
    System.out.println(s);
  }

自动处理末尾的逗号,项目代码中也是经常用到。

时间操作

@org.junit.Test
  public void dateTest() {
    // 获取当前时间
    LocalDateTime now = LocalDateTime.now();
    System.out.println(now);
    System.out.println(now.toString().replaceAll("T", " "));

    // 加一天
    LocalDate localDate = LocalDate.now().plusDays(1);
    System.out.println(localDate);

    // 减一天
    LocalDate minusDays = LocalDate.now().minusDays(1);
    System.out.println(minusDays);
  }

处理日期非常方便,而且线程还是安全的,这里只是写了一小部分,网上能搜到很多

Stream API

用了Stream API的人都说好,但是这个包含的太多了,不过有个网站已经写好了入门教程,我就贴一下 https://speedment.github.io/speedment-doc/stream_fundamentals.html#what-is-a-stream
想要掌握,还是要多写代码。