Java8 的一些新特性

最近看了《写给大忙人看的java se 8》这本书,简单的记录一下读后感和总结。
由于本人不做Java GUI 方面的工作,于是第4章种JavaFX直接跳过。

1.lambda 表达式。

这是java 种给出的最新特性,在最近的开发者也是相当火的一项技能。
语法特性

语法格式:参数->表达式

<pre>
来看几个例子
1.无参数
()->{System.out.println("Hello Lambda");};
()->function();
2.携带参数
String result = (String first,String second)->{first+second};
//永远不需要为lambda表达式执行返回类型,它会根据上下文进行推导出来。
</pre>

方法引用

<pre>
1.对象::实例方法
2.类:: 静态方法
(x,y)->Math.pow(x,y) == Math::pow;
3.类::实例方法
String::compareToIgnoreCase
</pre>

Stream API

针对stream 的看法,是一种链式结构操作,针对集合或者一些数据进行一系列操作,改变,转换,过滤,聚合等操作。
<pre>
Stream<Data> data = ...;
Stream<Result> result = data.
filter().
map().
flatMap()
limit()
peek();
......
并行操作一般都是以前缀parallel()进行命名
</pre>

新的时间API

java.time种的时间进行加强。
LocalDateTime 没有时区信息。
Instant 代替了原来的Date

原子值

java8 加强了并发处理,java.util.concurrent.atomic 包提供了用于支持无锁可变变量的类。

其他改进

1.字符串分割连接
a+","+b+","+c = String.join(",",a,b,c);
2.Math.floorMod(x,n) = x %n;
3.集合
Interable--forEach
Collection -- removeIf
List -- replaceAll,sort
Map -- forEach,replace,replaceAll,remove

java 7 中一些特性

1.try -with-resources 来自动关闭流操作资源。
2.object.equals(a,b).

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • Java 8自Java 5(发行于2004)以来最具革命性的版本。Java 8 为Java语言、编译器、类库、开发...
    谁在烽烟彼岸阅读 907评论 0 4
  • 原链接:http://www.cnblogs.com/langtianya/p/3757993.html JDK各...
    把爱放下会走更远阅读 1,127评论 0 10
  • 好久好久,都没今天下午的感觉,那种感觉太过压抑,感觉像是久未爆发的火山,事情有点多,压的自己差点喘不过气来,从小记...
    高先seng阅读 156评论 0 0