學習 自定義排序 列舉定義實現

2021-10-21 03:21:54 字數 953 閱讀 5562

實體(重點comparable引數)

@data

@equalsandhashcode

(callsuper =

false

)public

class

statisticviewvo

extends

baseentity

public comparator sort

(sort s)

}public

enum sort

}

業務實現排序寫法

// origintotallist是資料庫獲取的資料(例如mongodb查詢得到)

// statisticdto.getcolumnname()為使用者頁面選擇要排序的字段

// statisticdto.getcollectvalue()為公升序或降序 asc desc

statisticviewvo.fieldenum fileenum = statisticviewvo.fieldenum.

valueof

(statisticdto.

getcolumnname()

);comparator

sort = fileenum.

sort

(statisticviewvo.sort.

valueof

(statisticdto.

getcollectvalue()

)); list totallist =

(list) origintotallist.

stream()

.sorted

(sort)

.collect

(collectors.

tolist()

);// 排序完成列表totallist

自定義列舉

在效能優化中,列舉的每乙個都是乙個例項,比較耗記憶體,採用自定義註解能很好的解決這個問題 public class shape 表示表示需要在什麼級別儲存該注釋資訊,用於描述註解的生命週期 retention retentionpolicy.runtime public inte ce model ...

自定義列舉特性

新增乙個列舉擴充套件類 列舉擴充套件特性 attributeusage attributetargets.field attributetargets.enum public class apienum attribute set public string message set 列舉特性 訊息碼...

sql實現自定義排序

實際應用中sql提供的預設按某一欄位排序,asc desc並不滿足需要,需要根據使用者需求自定義的按照默寫順序排序,這裡提供乙個方法,適用於自定義型別不多的情況下,多了就得存欄位關聯表排序了吧。例子如下 select from select 3 as id,小明 as name from dual ...