这个是工具类importjavala
greflectFieldimportjavala
greflectI
vocatio
TargetExceptio
importjavala
greflectMethodimportjavautilArraysimportjavautilComparatorimportjavautilDateimportjavautilList
传入一个对象数组,一个排序的根据对象的某个属性,一个布尔值是否逆序,使用sort方法之后返回一个排序之后的对象数组authorAdmi
istratorpublicclassObjectArraySorterprivateListObjectobjArrayprivateStri
gsortByprivateboolea
descpublicObjectArraySorterListobjArrayStri
gsortByboolea
descthisobjArrayobjArraythissortBysortBythisdescdesc返回一个排序之后的对象listpublicListsortObjectobjAobjArraytoArrayMyComparatorc
ewMyComparatorobjArrayget0getClassgetNamesortBydescArrayssortobjAcListl2ArraysasListobjAretur
l2classMyComparatorimpleme
tsComparatorprivateStri
gclassName要被比较的类privateStri
gsortBy排序的属性privateboolea
descfalse是否逆序
fparamclassName要被比较的类paramsortBy根据哪个属性进行排序paramdesc是否逆序publicMyComparatorStri
gclassNameStri
gsortByboolea
descthisclassNameclassNamethissortBysortBythisdescdescpublici
tcompareObjecto1Objecto2try拿到className对应的类ClassxClassforNameclassName将参数中2个对象强转为这个类的对象Objectx1xcasto1Objectx2xcasto2拿到要被排序的属性FieldfxgetDeclaredFieldsortByStri
ggetMethod