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

如何给网站流量来源做标记通过在网址后边加问号?江门网站建设联系电话

如何给网站流量来源做标记通过在网址后边加问号?,江门网站建设联系电话,阿里云虚拟主机做淘客网站,有哪些网站可以卖自己做的图片本文介绍了一些简单的编码实践。 没什么好看的。 在StackOverflow上也进行了讨论。 您只是将一个庞大而复杂的循环重构为一个更具可读性的流表达式#xff0c;而忘记了某些方法调用引发了异常。 包含此代码的方法将引发此异常#xff0c;该异常在方法头中声明。 您不想在此级… 本文介绍了一些简单的编码实践。 没什么好看的。 在StackOverflow上也进行了讨论。 您只是将一个庞大而复杂的循环重构为一个更具可读性的流表达式而忘记了某些方法调用引发了异常。 包含此代码的方法将引发此异常该异常在方法头中声明。 您不想在此级别上处理此异常。 它在更高级别的调用堆栈上受到关注。 而且您会在代码中遇到令人讨厌的错误就像钉子下的碎片一样。 假设您要将字符串转换为IP地址。 private static final String[] allowed {127.0.0.1, ::1};...Arrays.stream(allowed).map(InetAddress::getByName).collect(Collectors.toSet()); 问题是getByName(String host)抛出UnknownHostException 。 这不是RuntimeException因此必须对其进行检查但是map()方法需要一个Function作为参数而Function不会引发任何异常。 我们需要一个不会抛出异常的getByName版本或者我们需要使用一种对异常更me脚的语言。 Arrays.stream(allowed).map(s - {try {return InetAddress.getByName(s);} catch (UnknownHostException e) {throw new RuntimeException(e);}}).collect(Collectors.toSet()); 这比原始循环更丑陋和混乱。 是否可以尝试/捕获放入实用程序类中的所有内容并调用一些包装实际调用的la脚静态方法 是的。 静态导入以下方法 public interface ExceptionalSupplierT {T apply() throws Exception;} ...public static T T lame(ExceptionalSupplierT z) {try {return z.apply();} catch (Exception e) {throw new RuntimeException(e);}} 导入后可以写 Arrays.stream(allowed).map(s - lame(() - InetAddress.getByName(s))).collect(Collectors.toSet()); 要注意的是您不能只lame( ... )通话。 您必须将其转换为出色的供应商。 具有与Supplier相同的功能接口但允许例外。 还是不理想。 嗯它是Java所以您期望什么好的。 它是Java但仍然可以做得更好。 如果不是通过供应商将表达式转换为不引发异常的表达式我们可以将引发异常的“函数”转换为不引发异常的表达式。 我们需要一个接受异常函数并返回正常函数的方法。 这样我们可以在代码中保存() -噪声。 可读性规则。 public interface ExceptionalFunctionT, R {R apply(T r) throws Exception;} ...public static T, R FunctionT, R lame(ExceptionalFunctionT, R f) {return (T r) - {try {return f.apply(r);} catch (Exception e) {throw new RuntimeException(e);}};} 使用该实用程序“最终”表达式将是 CollectionInetAddress allowedAddresses Arrays.stream(allowed).map(lame(InetAddress::getByName)).collect(Collectors.toSet()); GIST中的实际实用程序类定义了一个WrapperException扩展了RuntimeException以便您可以在方法中的某个地方捕获异常例如 public myMethod() throws IOException { try{... do whatever here we do ...} catch (RuntTimeExceptionWrapper.WrapperException we) {throw (IOException) we.getCause();} 这样该方法将引发异常但是如果任何地方还有另一个RuntimeException将引发未捕获。 这只是一个简单不错的小技巧可以帮助您跟上Java它向后兼容而不是使用现代简洁的其他语言开始开发而让您将更多精力放在需要编码的功能上编码技术。 翻译自: https://www.javacodegeeks.com/2017/09/noexception-stream-operation.html
http://www.yutouwan.com/news/12630/

相关文章:

  • 设计的网站源代码怎么做沧州市青县建设局网站
  • 专业 网站设计公司价格小程序游戏开发平台
  • 湖北聚四方建设有限公司网站广东省建设监理协会网站
  • 一个页面的网站保温杯软文营销300字
  • 新网站应该怎么做安卓软件开发环境
  • 营销型网站建设课程培训现场龙岩好工作人才网最新招聘信息
  • ssh框架做的家政服务网站杭州哪家网站建设公司好
  • 优质的网站建设无锡低价网站排名
  • 交通建设集团蓝商分公司网站网站标题作弊
  • 网站开发进程报告广州网站建设选哪家
  • 做鞋子的网站网站开发外包接单
  • 东莞专业的网站制作有哪些做英文网站常用的字体
  • 租车网站建设养老院微网站建设方案
  • 网站建设怎么找客户资源山东济南做网站公司
  • 纪梵希网站设计分析医疗机构网站以患者做宣传
  • 微网站开发案例磁力在线搜索引擎
  • 江苏城乡建设学院网站设计本质安全
  • 凡高网站建设通过骗子网站能找到其服务器吗
  • 百度收录网站的图片google网站
  • 随州制作网站河南移动商城网站建设
  • 如何做简单网站首页怎么设置wordpress页面
  • 百度有哪些网站可免费做软件推广为什么很少用python做网站
  • 镇海建设交通局网站seo推广软
  • 建设银行贵金属网站一个网站做无限关键词
  • 商城网站开发多少钱wordpress 管理入口
  • 网站备案 途径淮滨网站建设
  • 企业为什么需要建站wordpress主题国外优秀
  • 抚松网站建设门户网站建设自查整改
  • 转转网站怎么建设上海英文网站制作
  • 江苏常州青之峰做网站提供东莞微信网站建设