当前位置: 首页 > news >正文

怎么在网站空间上传文件网络搭建投标文件

怎么在网站空间上传文件,网络搭建投标文件,企业内部门户网站建设,网站名称要求译者注#xff1a;本篇博客翻译自Oracle官方教程《Method References》。作为Java 8 新特性Lambda表达式的引申概念#xff0c;博主依然采用官方文档的方式来学习这一重要的概念。希望对各位同道有所帮助。 方法引用 使用Lambda表达式创建匿名方法。但是#xff0c;有时候…译者注本篇博客翻译自Oracle官方教程《Method References》。作为Java 8 新特性Lambda表达式的引申概念博主依然采用官方文档的方式来学习这一重要的概念。希望对各位同道有所帮助。 方法引用 使用Lambda表达式创建匿名方法。但是有时候Lambda表达式什么都没做仅仅是调用了一个已经存在的方法。这种情况下引用已存在方法的方法名通常是更清晰的。方法引用允许你这么做它是一种简洁的、可读性强的有名方法的Lambda表达式。 再次思考我们在Lambda 表达式部分即上一篇翻译《Java8————Lambda表达式二》中讨论的Person类 public class Person {public enum Sex {MALE, FEMALE}String name;LocalDate birthday;Sex gender;String emailAddress;public int getAge() {// ...}public Calendar getBirthday() {return birthday;} public static int compareByAge(Person a, Person b) {return a.birthday.compareTo(b.birthday);}} 假设你的应用中的成员全都包含在一个数组中并且你希望把他们以年龄进行排序。你可以使用下面的代码 Person[] rosterAsArray roster.toArray(new Person[roster.size()]);class PersonAgeComparator implements ComparatorPerson {public int compare(Person a, Person b) {return a.getBirthday().compareTo(b.getBirthday());} }Arrays.sort(rosterAsArray, new PersonAgeComparator()); 调用的sort方法的方法签名译者注方法签名是包含方法名、参数列表等在内的方法信息如下 static T void sort(T[] a, Comparator? super T c) 注意Comparator接口是一个函数接口。因此你可以使用Lambda表达式而不是去定义并随后创建一个实现了Comparator的类的实例 Arrays.sort(rosterAsArray,(Person a, Person b) - {return a.getBirthday().compareTo(b.getBirthday());} ); 但是比较两个Person对象生日的方法已经存在于Person.compareByAge方法当中。你可以Lambda表达式的body中调用 Arrays.sort(rosterAsArray,(a, b) - Person.compareByAge(a, b) ); 因为这个Lambda表达式调用一个存在的方法因此你可以使用方法引用来代替Lambda表达式 Arrays.sort(rosterAsArray, Person::compareByAge); 方法引用 Person::compareByAge语义上与Lambda表达式(a, b) - Person.compareByAge(a, b) 是一样的。都具备以下特性 1、它的参数列表Person Person从ComparatorPerson.compare复制过来。 2、它的主体调用方法Person.compareByAge() 方法引用的种类 有如下四种方法引用 种类举例Reference to a static methodContainingClass::staticMethodNameReference to an instance method of a particular objectcontainingObject::instanceMethodNameReference to an instance method of an arbitrary object of a particular typeContainingType::methodNameReference to a constructorClassName::new静态方法引用 方法引用如Person::compareByAge 就是对静态方法的引用。 特定对象的实例方法引用 下面的例子就是对特定对象的实例方法引用 class ComparisonProvider {public int compareByName(Person a, Person b) {return a.getName().compareTo(b.getName());}public int compareByAge(Person a, Person b) {return a.getBirthday().compareTo(b.getBirthday());} } ComparisonProvider myComparisonProvider new ComparisonProvider(); Arrays.sort(rosterAsArray, myComparisonProvider::compareByName); 方法引用myComparisonProvider::compareByName调用了myComparisonProvider对象的方法compareByName。JRE会推断出方法的参数类型这个例子中是Person Person。 特定类型的任意对象的实例方法引用 下面的例子是特定类型的任意对象的实例方法引用 String[] stringArray { Barbara, James, Mary, John,Patricia, Robert, Michael, Linda }; Arrays.sort(stringArray, String::compareToIgnoreCase); 与Lambda表达式等价的方法引用 String::compareToIgnoreCase 有一个正式的参数列表String a, String b, a 和b 都是用来更好的描述这个例子的任意的名称。这个方法引用会调用方法a.compareToIgnoreCase(b)。 构造器的方法引用 你可以像使用静态方法引用的方式那样使用new关键字来引用构造器。下面的方法将元素从一个集合中拷贝到另一个集合中。 public static T, SOURCE extends CollectionT, DEST extends CollectionTDEST transferElements(SOURCE sourceCollection,SupplierDEST collectionFactory) {DEST result collectionFactory.get();for (T t : sourceCollection) {result.add(t);}return result; } 函数接口Supplier包含一个没有参数并且返回一个对象的方法get()。因此你可以像下面这样通过Lambda表达式调用transferElements()方法 SetPerson rosterSetLambda transferElements(roster, () - { return new HashSet(); }); 你可以像下面这样使用构造器引用来取代Lambda表达式 SetPerson rosterSet transferElements(roster, HashSet::new); Java编译器会推断出你希望创建一个包含元素类型为Person的HashSet集合。你可以像下面这样来指定二选一。 SetPerson rosterSet transferElements(roster, HashSetPerson::new);
http://www.yutouwan.com/news/31217/

相关文章:

  • 北京网站建设 招聘信息河南省建设监理协会官网
  • 怎么用APdiv做网站导航栏网站开发用户自定义排序方案
  • 网站升级维护期间能访问吗wordpress 微博】
  • 山东省城乡住房和城乡建设厅网站疏肝益阳胶囊有哪些功效与作用
  • 上海免费模板建站山东省工程建设协会网站
  • 有没有专门做老年婚介的网站哈尔滨建筑工程招聘信息
  • 购物类网站开发中国国家人才培训网官网
  • 网站开发流程百度文库wordpress网站数量管理插件
  • 网站关键词排名没有了商务软文写作
  • 杭州哪里找网站建设的兼职襄阳住房和城乡建设局网站首页
  • 重庆做腋臭骑士网站百度域名是什么
  • wordpress 注册 填写密码错误沈阳seo自然优化排名
  • 网站中图片怎么做的连云港做网站公司哪家好
  • wordpress网站设置关键词网站专题页设计
  • 网站还未被收录可以做推广吗潍坊网站建设维护
  • 人们做网站怎么赚钱1元建站
  • 24小时学会网站建设wordpress修改mysql
  • 网站seo文章该怎么写全球最大的外贸平台
  • 手机网站制作哪家好城乡住房建设部网站
  • 在线制作wap网站永久建站平台
  • 宽屏大气网站模板广州智迅网络做网站
  • 如何套用别人网站模板南通高端网站
  • 做鞋子有什么好网站网站开发人员晋升体系
  • wordpress添加账户余额怎么做优化网站排名
  • 网站策划书注意事项东莞网站的制作设计
  • 响应式网站开发视频教程保定网站网站建设
  • 仿win8 网站模版建设电子商务网站的必要性
  • 平面设计有哪些公司优化营商环境发言稿
  • 自建网站 支付宝高端企业网站模板
  • 中宁建设局网站wordpress红色主题公园