你们还在用 Scala Tuple234..? Outer啦

为什么这么说呢,难道我自己多年使用的方式错了嘛,是的,你没错,我错了,哈哈,主要原因是使用Tuple的时候容易搞错对象,Tuple2的时候还知道第一个参数跟第二个参数的意思,后面多来个几参数你会记得_1._2._3._4代表的意思是什么吗?代码结构也不好维护,所以请结束使用Tuple吧

image.png

请开始你的表演

正常使用Tuple

val list = Array((1,2,3,4),(5,6,7,8))
list.filter(_._1>0).map(_._2).foreach(println)

你说你说,再过几天你还记得_1,_2是什么意思吗,假设list是个变量从其它地方传过来,蛋就更加的疼了,当然了,有小伙伴又说了,我使用case class 不就解决这样的问题了吗?有道理,那如果业务有很多case class 呢?维护起来是不是也很复杂,说了半天,快直接说答案,来了来了,这就一一道来。

正确的打开方式

使用匿名类

new {
        val id:Int
        ...
      }

正确例子

val list = Array(
      new {
        val id: Int = 1
        val age: Int = 2
        val add: Int = 3
        val name: Int = 4
      },
      new {
        val id: Int = 5
        val age: Int = 6
        val add: Int = 7
        val name: Int = 8
      }
    )
    list.filter(_.id>0).map(_.age).foreach(println)

我告诉你,我这项目我过N年都记得它每个字段的意思,而且还可以随时加字段。哈哈~~~

image.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值