眾所周知,scala的元祖個數最多為22個,通常情況下,個數上限能滿足使用需求。但是極限情況下,處理大數據的過程中,通常要對超過22個字段進行解析。此時可以通過定義一個普通類繼承Product類的方式實現。
由於這里定義的是一個普通類(不是case class),所以自定義的所有屬性,前面要加上val,cassclass會默認設置為val,並自帶apply方法和hashcode方法。要實現序列化的接口,不然會報序列化錯誤,解析參數異常。
調用此類的時候,根據業務需要自己傳參。
補上Product特質的代碼。這是一個抽象類,包含元祖的一些抽象方法和實例方法,通過繼承這個特質,自己定義元祖: