设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

你不知道Java的10件事

2014-11-20 10:31| 发布者: joejoe0332| 查看: 4624| 评论: 0|原作者: 黑葱|来自: CSDN CODE

摘要: 你从一开始就在使用Java吗?你是否还记得java被称作为”Oak”的时期?那时,面向对象仍然是一个热门的话题,使用C++的人们都认为Java没有任何机会,Applets 也只是一件事情。我敢打赌你肯定不知道以下一半的事情。现 ...


10. 交集类型

  Java有一个很独特的特性称作交集类型(type intersections)。你可以声明一个泛型,它由两个类型的交集构成。例如:


  要使用绑定的泛型参数 T 去实例化Test 类,这个参数就必须同时实现 Serializable 和 Cloneable。例如 String 不是,而 Date 是:


  为了让你有一个专门的交集类型,这种特性在Java8中得到了重用。如何用它呢?几乎没用。但是,当你在 lambda 表达式中强行应用这样的类型时,就只有此种方法可行。

  假设你在方法中使用了这种疯狂的类型约束:


  你需要一个实现了Runnable 和Serializable 的对象。为了让你可以在某些地方执行它,或是发送它,

Lambads 可以被序列化:

如果一个lambda 表达式的目标类型和所需参数是可序列化的,那么这个表达式就能序列化。

  即使这是真的,那也不会自动的实现序列化标记接口,所以你必须自己动手。

  现在你有一个可序列化的,但是它不能被执行。


  所以你必须自己加上:


(英文:DZone,译者:黑葱

转自:http://code.csdn.net/news/2822720

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部