I have defined 4 comparators for my object like this:
public static Comparator<mObject> comp0 = new Comparator<mObject>() {
@Override
public int compare(mObject l, mObject r) {
...compare
}
};
public static Comparator<mObject> comp1 = new Comparator<mObject>() {
@Override
public int compare(mObject l, mObject r) {
...compare
}
};
public static Comparator<mObject> comp2 = new Comparator<mObject>() {
@Override
public int compare(mObject l, mObject r) {
...compare
}
};
public static Comparator<mObject> comp4 = new Comparator<mObject>() {
@Override
public int compare(mObject l, mObject r) {
...compare
}
};
Now i want to create an array with the 4 comparators ,like this :
public final static Comparator<mObject>[] Object_comparators = { comp0,
comp1,
comp2,
comp3};
but Eclipse underlines everything between {..} like it is an error .Why is it ,and how could i fix it ?
You cannot create an array of classes with a parameterized generic type.
If you don’t mind losing type safety, you can do this:
But my preferred strategy would be to use a
List: