Xin chào mọi người, e là newbie, hiện e đang gặp 1 issue khó, nên chưa biết giải quyết thế nào, mong mọi người chỉ giáo giùm e vs ạ, tks All.
Mô tả:
Có 1 List<String> sortList
với n element;
conditionSort = sortList.get(0);
có Object với n Fileld = “FieldA, FieldB, FieldC, FielD, FieldE…”;
Yêu cầu: sắp xếp các Object trong 1 List theo kiểu, nếu conditionSort = FieldA, thì sẽ sort bằng value of FieldA, khi value of FieldA của các Object bằng nhau thì tiếp tục sẽ so sánh value of FielD, rồi value of FielD.
Thêm nữa conditionSort còn có các giá trị âm “-FieldA, -FieldB, -FieldC, -FielD, -FieldE…”
Hiện tại e đang handle theo kiểu if else conditionSort = FieldA thì sẽ sort bởi Comparator.comparing(Object::FieldA) và các case cũng vậy, còn các trường hợp “-FieldA, -FieldB, -FieldC, -FielD, -FieldE…” thì lại Comparator.comparing(Object::FieldA)
rồi reverse nó ra. Khiến code rất dài và tệ.
Không biết có các nào để lấy động chứ ko pải hard-code không nhỉ ???
Ai biết chỉ giùm e với, e cảm ơn.