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

一个人做公司管理网站建设网站的步

一个人做公司管理网站,建设网站的步,网线制作步骤及方法,网站正能量晚上下载直接进入Java 8具有lambda和stream#xff0c;但是没有元组#xff0c;这真是令人遗憾 。 这就是为什么我们在jOOλ中实现了元组-Java 8缺少的部分 。 元组确实是无聊的值类型容器。 本质上#xff0c;它们只是这些类型的枚举#xff1a; public class Tuple2T1, T2 {publ… Java 8具有lambda和stream但是没有元组这真是令人遗憾 。 这就是为什么我们在jOOλ中实现了元组-Java 8缺少的部分 。 元组确实是无聊的值类型容器。 本质上它们只是这些类型的枚举 public class Tuple2T1, T2 {public final T1 v1;public final T2 v2;public Tuple2(T1 v1, T2 v2) {this.v1 v1;this.v2 v2;}// [...] }public class Tuple3T1, T2, T3 {public final T1 v1;public final T2 v2;public final T3 v3;public Tuple3(T1 v1, T2 v2, T3 v3) {this.v1 v1;this.v2 v2;this.v3 v3;}// [...] } 编写元组类是一项非常无聊的任务最好使用源代码生成器来完成。 其他语言和API的元组 jOOλ的当前版本具有0至16度的元组。C和其他.NET语言的元组类型介于1至8之间。有一个专门针对元组的特殊库称为Javatuple 元组在1至10之间。英里并给元组单独的英文名称 UnitA // (1 element) PairA,B // (2 elements) TripletA,B,C // (3 elements) QuartetA,B,C,D // (4 elements) QuintetA,B,C,D,E // (5 elements) SextetA,B,C,D,E,F // (6 elements) SeptetA,B,C,D,E,F,G // (7 elements) OctetA,B,C,D,E,F,G,H // (8 elements) EnneadA,B,C,D,E,F,G,H,I // (9 elements) DecadeA,B,C,D,E,F,G,H,I,J // (10 elements) 为什么 因为当我看到恩纳德时它真的会敲响那甜蜜的钟声 最后但并非最不重要的一点是jOOQ还具有一个类似于元组的内置类型org.jooq.Record 它是Record7T1, T2, T3, T4, T5, T6, T7等漂亮子类型的基本类型Record7T1, T2, T3, T4, T5, T6, T7 。 jOOQ遵循Scala并定义了最高22级的记录。 定义元组类型层次结构时要当心 正如我们在前面的示例中看到的 Tuple3与Tuple2有很多共同的代码。 由于数十年来的对象定向和多态设计反模式对我们所有人都造成了严重的大脑损害我们可能认为让Tuple3T1, T2, T3扩展Tuple2T1, T2是一个好主意因为Tuple3只是在Tuple2的右边添加了一个属性对吗 所以… public class Tuple3T1, T2, T3 extends Tuple2T1, T2 {public final T3 v3;public Tuple3(T1 v1, T2 v2, T3 v3) {super(v1, v2);this.v3 v3;}// [...] } 事实是由于种种原因这是您最糟糕的事情。 首先是的。 Tuple2和Tuple3都是元组因此它们确实具有一些共同的特征。 将这些功能归为一个普通的超级类型并不是一个坏主意例如 public class Tuple2T1, T2 implements Tuple {// [...] } 但是学位不是其中之一。 原因如下 排列 考虑一下您可以形成的所有可能的元组。 如果让元组彼此延伸那么例如 Tuple5也将与Tuple2分配兼容。 以下将完美地编译 Tuple2String, Integer t2 tuple(A, 1, 2, 3, B); 当让Tuple3扩展Tuple2 从扩展链中的元组中删除最右边的属性似乎是一个不错的默认选择。 但是在上面的示例中为什么我不想重新分配(v2, v4)以使结果为(1, 3)或也许是(v1, v3)从而使结果为(A, 2) 当将较高程度的元组“减少”到较低程度的元组时可能会涉及很多可能的属性。 默认情况下删除最右边的属性对于所有用例来说都不会足够普遍 类型系统 如果Tuple3扩展了Tuple2 则对类型系统的影响将远远大于上述Tuple2 。 例如签出jOOQ API。 在jOOQ中您可以放心地假设以下内容 // Compiles: TABLE1.COL1.in(select(TABLE2.COL1).from(TABLE2))// Must not compile: TABLE1.COL1.in(select(TABLE2.COL1, TABLE2.COL2).from(TABLE2)) 第一个IN谓词是正确的。 谓词的左侧只有一列 而不是行值表达式 。 这意味着谓词的右侧也必须对单列表达式进行操作例如选择单个列相同类型的SELECT子查询。 第二个示例选择了太多列并且jOOQ API将告诉Java编译器这是错误的。 jOOQ通过Field.in(Select)方法保证了这一点该方法的签名为 public interface FieldT {...Condition in(Select? extends Record1T select);... } 因此您可以提供一个产生Record1T类型的任何子类型的SELECT语句。 幸运的是 Record2不会扩展Record1 如果现在Record2扩展了Record1 Record1似乎是个好主意那么第二个查询将突然编译 // This would now compile TABLE1.COL1.in(select(TABLE2.COL1, TABLE2.COL2).from(TABLE2)) …即使它形成无效的SQL语句。 它将进行编译因为它将生成SelectRecord2Type1, Type2类型该类型将是Field.in(Select)方法中预期的SelectRecord1Type1的子类型。 结论 Tuple2和Tuple5类型基本上是不兼容的类型。 在强类型系统中您一定不要引诱类似类型或相关类型也应该是兼容类型。 类型层次结构是非常面向对象的从面向对象的角度来看我的意思是自90年代以来我们仍然遭受着有缺陷和过度设计的面向对象概念。 即使在“企业”中大多数人也学会了偏重于继承而不是继承 。 对于元组组合意味着您可以很好地将 Tuple5转换为Tuple2 。 但是您不能分配它。 在jOOλ中 可以很容易地完成以下转换 // Produces (1, 3) Tuple2String, Integer t2_4 tuple(A, 1, 2, 3, B).map((v1, v2, v3, v4, v5) - tuple(v2, v4));// Produces (A, 2) Tuple2String, Integer t1_3 tuple(A, 1, 2, 3, B).map((v1, v2, v3, v4, v5) - tuple(v1, v3)); 这个想法是您对不可变值进行操作并且可以轻松提取这些值的一部分并将其映射/重组为新值。 翻译自: https://www.javacodegeeks.com/2015/10/the-danger-of-subtype-polymorphism-applied-to-tuples.html
http://www.yutouwan.com/news/415400/

相关文章:

  • 成都企业建站系统模板郑州网站建设汉狮
  • 做微信网站外贸平台销售
  • 丘里奇网站排名网站建设十年杜绝模板
  • 网站开发的背景意义微信做代理的网站
  • 南通市优普网站建设建设网站要多少钱
  • 南通建设中标查询网站公司找人做的网站到现在还没出来
  • 打开网站搜索设计必备网站
  • 做PHP网站前端网站进不去微信如何制作网页
  • 查看网站访问量如何帮客户做网站
  • 电商网站设计线路图p2p网站的建设
  • 京东商城 网站建设灌南县规划局网站一品嘉苑规划建设
  • 旅游网站建设方案后台wordpress postline
  • 金融公司做网站域名中国现货交易网官网
  • 聊城东昌府区建设路小学网站宿迁网络科技有限公司
  • 域名怎么绑定自己网站免费个人网站建站
  • 网站建设颜色代码表广州微网站建设市场
  • 旅游网站建设与规划wordpress文章部分展示
  • 个人的网站怎么备案表静态网页模板免费下载的网站
  • 呼和浩特电子商务网站建设微信里怎么进入自己的公众号
  • 网站建设一般多少钱要如何选择什么网站可以找人做软件
  • 深圳官方网站网站建设格局
  • 做签到的网站江门关键词排名优化
  • 17zwd一起做网站广州新塘望城经济建设开区门户网站
  • 河南省住房和城乡建设厅官方网站新建网站推广给企业
  • 如何在各个购物网站之间做差价大连网站建设招标
  • 一个叫mit做app的网站火狐浏览器下载手机版
  • 部队网站制作3d建模平台
  • 房屋中介的网站怎么建设114黄页网推广
  • 网站建设书籍赚客吧先做网站还是做APP
  • 中小学 网站建设 通知写文章一篇30元兼职