2016-12-18 6 views
0

のために定義されていない:暗黙の注文私は次のようにケースクラスを持っている私の場合クラス

case class AGG_RECON_4(var VOL_PROBE_DL_VOL:Int, var VOL_PROBE_FREE_VOL:Int, var VOL_PROBE_TOT_VOL:Int, VOL_NW_UL_VOL:Int,VOL_NW_DL_VOL:Int, VOL_NW_FREE_VOL:Int, VOL_NW_TOT_VOL:Int, VOL_CHG_UL_VOL:Int, 
        VOL_CHG_DL_VOL:Int, VOL_CHG_FREE_VOL:Int, VOL_CHG_TOT_VOL:Int, VOL_DXE_Session_End_Time:String, VOL_NW_Session_End_Time:String, 
        VOL_CHG_Session_End_Time:String, VOL_Session_Closed_Time:String, VOL_DXE_Is_Completed:Boolean, VOL_NW_Is_Completed:Boolean, VOL_CHG_Is_Completed:Boolean, VOL_Is_Closed:Boolean, VOL_Session_Category:String) extends Serializable 

case class AGG_RECON_3(CHG_ROAM_TYPE:String, CHG_APN:String, 
        CHG_APN_Category:String, CHG_Charging_Characteristics:String, CHG_Rate_Plan:String, CHG_Rating_Group:String, var CHG_CDR_Count:Int, var VOL_PROBE_UL_VOL:Int) extends Serializable 

case class AGG_RECON_2(NW_First_Report_Time:String, NW_Last_Report_Time:String, NW_Session_Start_Time:String, NW_IMSI:String, NW_MSISDN:String, NW_RAT_Type:String, NW_ROAM_TYPE:String, NW_APN:String, NW_APN_Category:String, NW_Charging_Characteristics:String, var NW_CDR_Count:Int, 
        CHG_First_Report_Time:String, CHG_Last_Report_Time:String, CHG_Session_Start_Time:String, CHG_IMSI:String, CHG_MSISDN:String) extends Serializable 


case class AGG_RECON(SUBSCRIBER_ID:String, ChargingID:String ,NodeID:String, START_TIME:String, DXE_First_Report_Time:String, DXE_Last_Report_Time:String, DXE_Session_Start_Time:String, DXE_Bearer_Creation_Time:String, DXE_IMSI:String, DXE_MSISDN:String, DXE_RAT_Type:String, 
       DXE_Subscriber_Type:String, DXE_VPMN:String, DXE_ROAM_TYPE:String, DXE_APN:String, DXE_APN_Category:String, DXE_Charging_Characteristics:String,var DXE_CDR_Count:Int,agg_recon_2:AGG_RECON_2,agg_recon_3:AGG_RECON_3,agg_recon_4:AGG_RECON_4) extends Ordered[AGG_RECON] with Serializable 
{ 

def compare(that: AGG_RECON): Int = { 

var formatter: DateTimeFormatter = null 
var d1: DateTime= //.. 
var d2: DateTime =//.. 



return d1.compareTo(d2) 

} 

} 

私はその後、私の場合のクラスインスタンスの連想リストを行きます。しかし、私はそれを並べ替えるしようとすると:

val elements=//Array[AGG_RECONN] 
val sorted_cdrs=elements().sorted[AGG_RECON] 

私が持っていない:AGG_RECONために定義された暗黙の注文を。

答えて

0

OrderedAGG_RECONに実装しないでください。

object AGG_RECON { 
    implicit object AGG_RECON_Ordering extends Ordering[AGG_RECON] { 
    override def compare(x: AGG_RECON, y: AGG_RECON) = ??? // Compare x and y 
    } 
} 

:代わりに、このようなimplicitOrdering[AGG_RECON]定義(サイドノート:UPPER_CASE名を使用するために本当に必要です。これは本当に慣例と衝突?。)

関連する問題