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

网站内容如何管理重庆市建设厅官网

网站内容如何管理,重庆市建设厅官网,公司做网站一般多少钱运营,装饰行业网站建设方案java中无法推断类型参数借用和窃取其他语言的概念和想法总是很高兴的。 Scala的Option是我真正喜欢的一个主意#xff0c;因此我用Java编写了一个实现。 它包装了一个可能为null或不为null的对象#xff0c;并提供了一些可用于某种分类功能的方法。 例如#xff0c;isDefine… java中无法推断类型参数 借用和窃取其他语言的概念和想法总是很高兴的。 Scala的Option是我真正喜欢的一个主意因此我用Java编写了一个实现。 它包装了一个可能为null或不为null的对象并提供了一些可用于某种分类功能的方法。 例如isDefined方法添加了一种检查值是否为null的面向对象的方法。 然后在其他地方使用它例如getOrElse方法该方法基本上说“给我您要包装的内容如果没有则回退”。 public T getOrElse(T fallback) {return isDefined() ? get() : fallback; } 实际上这将替代传统的Java例如 public void foo() {String s dao.getValue();if (s null){s bar;}System.out.println(s); } 与更简洁和面向对象 public void foo() {OptionString s dao.getValue();System.out.println(s.getOrElse(bar)); } 但是如果我想做一个除获得后备值之外的事情-抛出异常该怎么办 更重要的是如果我想抛出特定类型的异常即使用时特定且未硬编码到Option中怎么办 这需要一点技巧并且要进行类型推断。 因为这是Java所以我们可以从一个新工厂– ExceptionFactory开始。 这是一个基本的实现仅创建使用消息构造的异常但是您当然可以根据需要扩展代码。 public interface ExceptionFactory E extends Exception {E create(String message); } 注意E extended Exception -这是它如何工作的关键。 使用工厂我们现在可以向Option添加新方法 public E extends Exception T getOrThrow(ExceptionFactoryE exceptionFactory,String message) throws E {if (isDefined()){return get();}else{throw exceptionFactory.create(message);} } 同样请注意引发E –这是从异常工厂推断出来的。 不管您信不信这就是所需费用的90。 一种烦恼是需要异常工厂。 如果您能忍受这一切那么一切都准备就绪。 让我们定义几个自定义异常以了解实际情况。 public E extends Exception T getOrThrow(ExceptionFactoryE exceptionFactory,String message) throws E {if (isDefined()){return get();}else{throw exceptionFactory.create(message);} } 和可疑的ExceptionB类似 public class ExceptionB extends Exception {public ExceptionB(String message){super(message);}public static ExceptionFactoryExceptionB factory(){return new ExceptionFactoryExceptionB(){Overridepublic ExceptionB create(String message){return new ExceptionB(message);}};} } 最后将它们放在一起 public class GenericExceptionTest {Test(expected ExceptionA.class)public void exceptionA_throw() throws ExceptionA{Option.option(null).getOrThrow(ExceptionA.factory(),Some message pertinent to the situation);}Testpublic void exceptionA_noThrow() throws ExceptionA{String s Option.option(foo).getOrThrow(ExceptionA.factory(),Some message pertinent to the situation);Assert.assertEquals(foo,s);}Test(expected ExceptionB.class)public void exceptionB_throw() throws ExceptionB{Option.option(null).getOrThrow(ExceptionB.factory(),Some message pertinent to the situation);}Testpublic void exceptionB_noThrow() throws ExceptionB{String s Option.option(foo).getOrThrow(ExceptionB.factory(),Some message pertinent to the situation);Assert.assertEquals(foo,s);} } 如上以粗体突出显示的需要注意的重要一点是方法签名中声明的异常是特定的–它不是共同的祖先Exception或Throwable。 这意味着您现在可以在任何地方的DAO层服务层中使用“选项”并在需要的地方和方式中抛出特定的异常。 下载源 您可以从此处获取源代码和测试– Genex 边注 编写此文档后产生的另一件有趣的事情是观察到可以执行此操作 public void foo() {throw null; }public void bar() {try{foo();}catch (NullPointerException e){...} } 不用说这不是一个好主意。 参考 Objectify博客上的JCG合作伙伴 Steve Chaloner 推断出Java中的异常 。 翻译自: https://www.javacodegeeks.com/2013/01/inferred-exceptions-in-java.htmljava中无法推断类型参数
http://www.sadfv.cn/news/157951/

相关文章:

  • 做商城类的网站需要做些什么中国建设银行网站开通短信
  • 一个网站多台服务器建视频网站系统
  • 企业该如何进行网站推广东莞网站新站排名
  • 织梦iis7搭建网站教程买卖交易网
  • 营销型网站建设价格是多少wordpress模板+免费下载
  • 策划书中网站制作怎么写wordpress下载面板美化
  • 南宁小程序开发网站建设公司怎样获得做网站的客户
  • 如何做淘客推广网站c2c网站功能模块设计
  • 太仓住房与城乡建设部网站wordpress 执行了两次
  • 滁州网站建设梦天堂陕西网站建设培训
  • 如何创建网站电影网站标题怎么做流量多
  • 网站开发需要的资料上海奉贤网站建设 列表网
  • 用php做的博客网站柚子皮wordpress移动主题
  • 单位网站建设需要哪些技术政和网站建设wzjseo
  • 浙江华企做的网站效果如何内蒙网站开发
  • 常用的网站开发平台api咸阳做网站的公司电话
  • 如何做网站页面怎样推广平台
  • 吉恩聊城网站建设儿童 网站欣赏
  • 龙山建设工程有限公司网站图片设计制作软件
  • 那些网站可以做0首付分期手机网站开发著作权
  • 推广产品网站建设oa系统app下载
  • 傻瓜做网站wordpress 预览demo
  • 建网站非要做外链吗小程序开发文档api
  • 网上购物最便宜的网站做网站导航栏素材图
  • 信誉好的企业网站开发新乡发布最新通告
  • 电子商城平台网站开发电子商务平台的发展趋势
  • 山东做网站建设的好公司免费网站模版 优帮云
  • 广安公司网站建设网站设计推广
  • 新开传奇网站韩版网站建设类论文选题
  • 国外网站打开很慢seo的特点是什么