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

做简单的网站链接微信分销app

做简单的网站链接,微信分销app,如何用网站首页做404,网站建设竞价托管Lambda表达式#xff1a; 这里不再过多叙述什么事lambda表达式#xff0c;就说下怎么使用#xff0c;首先和lambda表达式同时存在的就是另一个定义#xff0c;就是匿名内部类。匿名内部类首先需要一个接口。 下面用一个例子说明lambda表达式#xff1a; public class Hel…Lambda表达式 这里不再过多叙述什么事lambda表达式就说下怎么使用首先和lambda表达式同时存在的就是另一个定义就是匿名内部类。匿名内部类首先需要一个接口。 下面用一个例子说明lambda表达式 public class HelloWorld{public static void main(String[] args){String name cat;Animal cat new Animal(name, ()-{System.out.println(Hello, Im a name !);});}public static interface Talk {void talks();}public static class Animal {public String name ;public Animal(String names, Talk talks) {this.name names;talks.talks();}} }这里的接口就是Talk该接口只是申明了一个功能talks 但是至于这个方法的实现就是lambda表达式的精髓所在这个方法的具体实现我们可以放在使用这个方法的时候再去实现。 如上所述代码该方法是在初始化Animal对象的时候才实现的这就和以往的方法不同以往都是先定义方法的函数体然后再使用。这里反而是到使用的时候再定义这不就可以根据我们的场景来定义方法的功能了嘛。 这就是可以实现根据不同场景采用不同策略应对的功能。 比如导师给你安排个任务然后告诉你说有困难你再去找XX师兄师姐。 这里就是一个场景加一个方法的组合场景是有困难然后方法时去找师兄师姐但是场景很多啊你可能刚上手就不会也可能是做到一半遇到问题亦或者是做到最后一步不知道怎么总结那你请教的内容必然也不会相同。所以会根据场景确定问题。这里场景就是一个对象Animal实例化一个场景然后根据场景实现请教这个接口中的详细方法talk。 这就是我理解的lambda表达式最直观的一个使用场景当然这里完全可以用匿名内部类解决上面的初始化方法换成如下即可。 Animal dog new Animal(name, new Talk() {Overridepublic void talks(){System.out.println(Hello, Im a name !);}});Lambda表达式只是简化了这里的表达形式这里可以这么理解 Talk talks new Talk() {Overridepublic void talks(){System.out.println(Hello, Im a name !);}};然后这里的就是直接将等号左边当成了参数放入初始化函数中。而lambda表达式就是在这个基础上再次简化可以写成下面的格式 (参数) - {方法体;}这里的talks方法是无参函数所以就直接传一个 () 再加上符号 - 然后通过{}将方法体包含住所以在看到lambda表达式的时候如果还不熟悉不理解其含义可以先将其逆转为匿名内部类这样就会好理解很多。 下面就在Android代码中找一个例子 private final ComparatorWindowState mWindowComparator (WindowState newWindow, WindowState existingWindow) - {final WindowToken token WindowToken.this;if (newWindow.mToken ! token) {throw new IllegalArgumentException(newWindow newWindow is not a child of token token);}if (existingWindow.mToken ! token) {throw new IllegalArgumentException(existingWindow existingWindow is not a child of token token);}return isFirstChildWindowGreaterThanSecond(newWindow, existingWindow) ? 1 : -1; };就找到之前Window相关内容中的排序算法作为例子这里的mWindowComparator是一个泛型为WindowState的Comparator然后初始化的时候看到了等号邮编就是一个lambda表达式。 这个lambda表达式参数列表为WindowState, WindowState这两个WindowState分别是待比较的两个量再看后面的方法体即{}中包含的地方首先是确认newWindow是不是和队列中的WindowState属于同一个聚类即mToken属性相同再确认待比较的exitingWindowstate是否是同一个聚类然后再调用isFirstChildWindowGreaterThanSecond方法进行比较。那这里怎么理解呢 首先匿名内部类要找到一个接口接口很好找就是需要实现方法体的那个东西所以这里就是Comparator看定义确实是一个接口。 那重写成匿名内部类就是下面的模式 ComparatorWindowState mWindowComparator new ComparatorWindowState() { Overrideint compare(WindowState newWindow,WindowState existingWindow ){return isFirstChildWindowGreaterThanSecond(newWindow, existingWindow) ? 1 : -1;}};这样就比较好理解lambda表达式了他就是重写了这个compare方法而已。所以遇到不是很好理解的lambda表达式就先还原成匿名内部类形式这样就能方便理解一点等熟悉后其实也不用这么麻烦了一般都能直接看明白 不过之前还遇到一个比较奇怪的lambda表达式形式不太常见就是 :: 这个符号。双冒号在c中遇到的多一点可代表某个某个域的函数或类型在lambda表达式中好像也差不多在Android代码中就有用到这个功能 private final ComparatorWindowToken mWindowComparator Comparator.comparingInt(WindowToken::getWindowLayerFromType);这里就代表着调用了WindowToken这个类中的getWindowLayerFromType方法。
http://www.dnsts.com.cn/news/229125.html

相关文章:

  • 网站一般宽度做招商网站
  • HTML网站制作设计普陀网站制作
  • Ui互联网门户网站建设网站管理建设的需求分析
  • 阿里云手机做网站灵宝seo公司
  • 网站制作可以便捷的网站建设软件
  • 做网站的挣钱么网站开发用户名不存在
  • 深圳专业网站设计公司价格易企网站建设公司
  • 在阿里巴巴上做网站要多少钱网站搜索栏怎么做
  • 卖线面网站教育网站制作要多少钱
  • 建网站平台哪家好WordPress主题安全检查
  • jsp网站开发公司青岛定制网站建设推广
  • 网站建设管理与维护ppt优化关键词技巧
  • 苗木网站模版网站首页布局分析
  • 沈阳手机网站开发浙江省建设安监站网站
  • diy网站开发公司学做家常菜的网站
  • 企业网站开发的公司中山seo网络推广
  • 网站开发手机版行业网站建站青岛公司
  • 网站域名批量查询WordPress怎么自定义页眉
  • 做的比较好的美食网站做360网站优化
  • 贵阳网站建设技术托管wordpress文章下载
  • 网站建设与管理心得wordpress %2$s
  • 山东免费网站建设网络游戏名字大全
  • 安卓4.3网站开发兼容推广软件免费
  • 做教育门户网站法律风险印发网站建设方案
  • 更新公司网站内容需要微商城平台排名
  • 重庆博达建设集团网站潍坊企业网络推广
  • 做地方分类信息网站需要什么资质吗wordpress 批量上传产品
  • 南京做网站具体需要多少钱天津网站建设哪家做得好
  • 高端网站优化北京网站
  • 二手商品网站制作wordpress建立频道