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

云南建设厅网站备案厂家上海中国国际进口博览会

云南建设厅网站备案厂家,上海中国国际进口博览会,网站关键字设置格式,东莞有哪些互联网公司string拆分为int我正在为我工​​作的公司准备正则表达式教程更新。 原始教程创建于2012年#xff0c;从那时起Java发生了一点变化。 有新的Java语言版本#xff0c;尽管Java中的正则表达式处理仍不完善#xff08;nb。它仍使用非确定性FSA#xff09;#xff0c;但仍有一… string拆分为int 我正在为我工​​作的公司准备正则表达式教程更新。 原始教程创建于2012年从那时起Java发生了一点变化。 有新的Java语言版本尽管Java中的正则表达式处理仍不完善nb。它仍使用非确定性FSA但仍有一些新功能。 我在上一篇文章中针对新的Java 9方法写过一些文章。 但是这一次我必须查看自2012年以来的所有新功能。 从1.8开始的splitAsStream 这样我在java.util.regex.Pattern类中找到了splitAsStream 。 它与方法split几乎相同除了返回的不是String对象的数组而是流。 最简单的实现是 public StreamString splitAsStream(final CharSequence input) {return Arrays.stream(p.split(input)); } 当图书馆试图跟上新风和支持潮流时我可以看到许多这样的实现。 没有什么比将数组或列表从某些现有功能转换为流更简单了。 但是解决方案是低于标准失去了流的本质仅执行所需的工作。 我的意思是“应仅在处理流时执行所需的工作”而不是在开发人员将数组或集合返回方法转换为返回一个流的情况下进行。 流以一种精简的方式及时交付结果。 您会看到我们有多少个懒惰的表情。 JDK实现利用了流的性能优势。 如果您查看源代码您会立即看到实现比前面提到的简单解决方案稍微复杂一些。 由于我没有时间去研究实现也许没有兴趣所以我使用了另一种方法来证明实现尊重流的惰性。 该方法的参数是CharSequence而不是String 。 CharSequence是String实现的接口但我们也可以实现它。 为了感觉到这种情况下的流实现多么懒惰我创建了一个CharSequence实现它通过调试打印出了方法调用。 class MyCharSequence implements CharSequence {private String me;MyCharSequence(String me) {this.me me;}Overridepublic int length() {System.out.println(MCS.length() me.length());return me.length();}Overridepublic char charAt(int index) {System.out.println(MCS.charAt( index ) me.charAt(index));return me.charAt(index);}Overridepublic CharSequence subSequence(int start, int end) {System.out.println(MCS.subSequence( start , end ) me.subSequence(start, end));return me.subSequence(start, end);} } 有了此类我可以执行以下简单的main方法 public static void main(String[] args) {Pattern p Pattern.compile([,\\.\\-;]);final CharSequence splitIt new MyCharSequence(one.two-three,four;five;);p.splitAsStream(splitIt).forEach(System.out::println); } 输出显示该实现确实很懒 MCS.length()24 MCS.length()24 MCS.length()24 MCS.charAt(0)o MCS.charAt(1)n MCS.charAt(2)e MCS.charAt(3). MCS.subSequence(0,3)one one MCS.length()24 MCS.charAt(4)t MCS.charAt(5)w MCS.charAt(6)o MCS.charAt(7)- MCS.subSequence(4,7)two two MCS.length()24 MCS.charAt(8)t MCS.charAt(9)h MCS.charAt(10)r MCS.charAt(11)e MCS.charAt(12)e MCS.charAt(13), MCS.subSequence(8,13)three three MCS.length()24 MCS.charAt(14)f MCS.charAt(15)o MCS.charAt(16)u MCS.charAt(17)r MCS.charAt(18); MCS.subSequence(14,18)four four MCS.length()24 MCS.charAt(19)f MCS.charAt(20)i MCS.charAt(21)v MCS.charAt(22)e MCS.charAt(23); MCS.subSequence(19,23)five five MCS.length()24 实现继续进行当它找到流的第一个元素时将其返回。 我们可以处理字符串“ one”并且仅当我们返回其他元素时它才能处理其他字符。 为什么必须在开始时调用方法长度3次 我不知道。 也许它想非常确定序列的长度不会发生神奇的变化。 士气 这是一个很好的示例说明如何扩展库以支持流。 如果应用程序只是将集合或数组转换为第一个版本中的流这不是问题但是如果分析表明性能可以收回投资则应实现真正的流惰性。 边注 CharSequence的实现是可变的但是处理要求它保持恒定否则结果不确定。 我可以确认。 下周我将展示splitAsStream的可能用法该splitAsStream利用的功能是它在字符序列中读取的内容不会超出所需的范围。 翻译自: https://www.javacodegeeks.com/2017/11/split-as-stream.htmlstring拆分为int
http://www.zqtcl.cn/news/915484/

相关文章:

  • 深圳创建网站公司哈尔滨全员核酸检测
  • 网站开发实施计划宠物网站 html模板
  • 在线生成手机网站商城网站平台怎么做
  • 深圳专业企业网站制作哪家好写作网站新手
  • 福建泉州曾明军的网站桥梁建设期刊的投稿网站
  • 国内设计网站公司wordpress电视主题下载
  • 自贡网站开发河南省建设网站首页
  • 昆明网站推广优化服务器代理
  • wordpress 网站统计插件福建省建设工程职业注册网站
  • 手机移动端网站是什么上海网站设计服务商
  • 多语言网站建设推广孝感门户网
  • 外贸soho 网站建设旅游电子商务网站建设调查问卷
  • 北京专业制作网站seo优化技术教程
  • 网站建设最低多少钱珠海在线网站制作公司
  • 网站建设完成之后要索取哪些医疗网站建设服务
  • 长沙招聘网站有哪些深圳seo论坛
  • 网站如何做网络推广山西住房建设厅官方网站
  • 优化排名推广技术网站平面设计创意
  • 山西网站建设哪家有tv域名的网站
  • 个人博客网站怎么赚钱公司招聘一个网站建设来做推广
  • 功能型网站有哪些中国门户网站有哪些
  • 网站制作教程步骤软件公司怎么赚钱
  • 看世界杯网址网站更新seo
  • 深圳网站做的好的公司商洛做网站电话
  • 环保部网站官网建设项目审批做网站推广赚钱吗
  • 北仑建设局网站东莞市seo网络推广价格
  • 大专学历怎么自考优化建站
  • 网站上的图片怎么替换中国电力建设集团网站
  • 开发手机网站步骤手机网站前端开发布局技巧
  • 文山文山市网站建设网站建设管理教程视频