众所周知,scala的元祖个数最多为22个,通常情况下,个数上限能满足使用需求。但是极限情况下,处理大数据的过程中,通常要对超过22个字段进行解析。此时可以通过定义一个普通类继承Product类的方式实现。
由于这里定义的是一个普通类(不是case class),所以自定义的所有属性,前面要加上val,cassclass会默认设置为val,并自带apply方法和hashcode方法。要实现序列化的接口,不然会报序列化错误,解析参数异常。
调用此类的时候,根据业务需要自己传参。
补上Product特质的代码。这是一个抽象类,包含元祖的一些抽象方法和实例方法,通过继承这个特质,自己定义元祖: