Java: Implement Compararable but too many conditional ifs. How can I avoid them?
-
12-11-2019 - |
سؤال
I have a list
of objects which implement Comparable
.
I want to sort this list and that is why I used the Comparable
.
Each object has a field, weight
that is composed of 3 other member int variables.
The compareTo
returns 1
for the object with the most weight
.
The most weight is not only if the
weightObj1.member1 > weightObj2.member1
weightObj1.member2 > weightObj2.member2
weightObj1.member3 > weightObj2.member3
but actually is a little more complicated and I end up with code with too many conditional ifs.
If the weightObj1.member1 > weightObj2.member1
holds then I care if weightObj1.member2 > weightObj2.member2
.
and vice versa.
else if weightObj1.member2 > weightObj2.member2
holds then I care if weightObj1.member3 > weightObj2.member3
and vice versa.
Finally if weightObj1.member3 > weightObj2.member3
holds AND if a specific condition is met then this weightObj1
wins and vice versa
I was wondering is there a design approach for something like this?
لا يوجد حل صحيح