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

深圳注册公司流程及资料怎样在网上办理优化网站的软件下载

深圳注册公司流程及资料怎样在网上办理,优化网站的软件下载,做企业官网教程,定制网站开发平台在工作中我需要,我需要递归处理复杂嵌套的JSON字符串,然后处理方法有多种,为了代码通用性,我想要把处理方法当作参数,传入到函数中,然后根据不同的处理方法处理字符串。通过查资料得知,可以使用…

在工作中我需要,我需要递归处理复杂嵌套的JSON字符串,然后处理方法有多种,为了代码通用性,我想要把处理方法当作参数,传入到函数中,然后根据不同的处理方法处理字符串。通过查资料得知,可以使用函数式接口来实现此功能。

函数式接口(Functional Interface)就是一个有且仅有一个抽象方法的接口。

定义

Java8新增加的函数接口放在java.util.function包中,一般Java8提供的接口够用了。当然也可以自定义,比如可按照以下方式:

@FunctionalInterface
public interface UpperCaseString<T,U> {public String upperString(String t,String u);
}	

Java8函数接口介绍

从接口命名来看,其实函数接口类型分为以下几类

Function接口

Fcuntion接口接受一个参数,返回一个的结果。

@Test
public void testLongFunction() {//LongFunction接口一个long类型的数据,返回一个Object类型的数据LongFunction<String> function = t -> String.valueOf(t);String result = function.apply(12l);System.out.println(result);
}

其他还有

  • DoubleToIntFunction 接受一个double类型输入,返回一个int类型结果。
  • ToDoubleBiFunction<T,U> 接受两个输入参数,返回一个double类型结果。

Supplier接口

Supplier接口不接受参数,但是提供一个返回值。

@Test
public void testSupplier() {//不接受参数,返回一个long数据LongSupplier supplier = () -> 2l;System.out.println(supplier.getAsLong());
}

其他还有

  • IntSupplier 不接受参数,返回一个int数据。
  • DoubleSupplier 不接受参数,返回一个double数据。

Predicate接口

Predicate接口接收一个参数,返回一个Boolean类型值。

@Test
public void testPredicate() {//接受两个String参数,取小写之后返回是否相等BiPredicate<String, String> predicate = (t,u) -> t.toLowerCase().equals(u.toLowerCase());System.out.println(predicate.test("AAb", "aaB"));
}

其他还有

  • DoublePredicate 接受一个Double类型的数据,返回Boolean类型

Consumer接口

Consumer接口就是接受一个参数,不返回结果,即消费数据

@Test
public void testConsumer() {//接受一个int类型,先加1,然后再打印IntConsumer consumer = t -> System.out.println(t+1);consumer.accept(2);
}

其他还有

  • BiConsumer 接受两个参数,不返回结果

Operator接口

Operator接口是继承与Function接口,所以使用类似。UnaryOperator<T>一元操作符接口,BinaryOperator<T>二元操作符接口,一般多用于操作计算。

@Test
public void testOperator() {BinaryOperator<Integer> binaryOperator = (t,u) -> t+u;System.out.println(binaryOperator.apply(2, 3));System.out.println(BinaryOperator.maxBy(Double::compareTo).apply(2.5, 4.5));BinaryOperator<String> stringOperator = BinaryOperator.minBy(Comparator.naturalOrder());System.out.println(stringOperator.apply("A","B"));BinaryOperator<String> stringOperator2 = BinaryOperator.minBy(String::compareTo);System.out.println(stringOperator2.apply("2020-01-14","2020-01-13"));
}

其他还有

  • IntUnaryOperator 接受一个参数同为类型int,返回值类型也为int。
  • LongBinaryOperator 接受两个参数同为类型long,返回值类型也为long。

总结

上述是介绍了几种函数式接口,其他也还有很多,但是其他就是另外的变式,原理都是共通的。函数式接口可以隐式转换为 lambda 表达式。这样我们平时编程时候比较代码简洁,用起来也是非常方便,值得使用。

http://www.ds6.com.cn/news/26734.html

相关文章:

  • 网站制作技术人员谷歌优化
  • 开发一个网站需要的技术天津seo优化排名
  • 国内做外贸如何访问外国网站百度seo优化系统
  • 四级a做爰片免费网站关键字搜索
  • 烟台做网站要多少钱培训推广 seo
  • 网站建设必须配置自己开一个培训机构流程
  • 济南做网站多钱网络推广的工作好做吗
  • 网站 网安备案做网站建网站公司
  • 网站建设多少钱个人数字经济发展情况报告
  • c 做彩票网站最彻底的手机优化软件
  • 电商网页设计网站网店运营推广平台
  • 大气网站源码微信客户管理
  • 网站怎么优化自己免费深圳网站开发
  • wordpress小工具位置真实有效的优化排名
  • 网页制作与网站建设实战大全 pdf下载智谋网站优化公司
  • 弹出全屏视频网站怎么做百度广告费
  • 佛山专业网站制作公司成都网站建设制作公司
  • 在线做3d交互的网站厦门百度整站优化服务
  • 临沂做网站优化海外seo
  • 一句吸引人的广告语宁波seo网络优化公司
  • wordpress app展示seo优化顾问服务
  • 做网站公司推荐百度手机导航官方新版
  • 宜春做网站今天重要新闻
  • 化妆品b2b网站大全整合营销传播
  • 温州网站建设哪家好世界疫情最新数据
  • 阜阳做网站做网站的软件
  • 做阀门销售在哪个网站上做好软文推广的优点
  • 产品微信网站建设百度网站提交了多久收录
  • 深圳建网站seoseo顾问多少钱
  • b站看男女灰色关键词排名