svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.expressionevaluator / org.gvsig.expressionevaluator.swing / org.gvsig.expressionevaluator.swing.impl / src / main / java / org / gvsig / expressionevaluator / swing / impl / ComparatorUtils.java @ 43983
History | View | Annotate | Download (1.04 KB)
1 |
package org.gvsig.expressionevaluator.swing.impl; |
---|---|
2 |
|
3 |
import java.util.Comparator; |
4 |
import java.util.Objects; |
5 |
|
6 |
/*
|
7 |
* To change this license header, choose License Headers in Project Properties.
|
8 |
* To change this template file, choose Tools | Templates
|
9 |
* and open the template in the editor.
|
10 |
*/
|
11 |
/**
|
12 |
*
|
13 |
* @author jjdelcerro
|
14 |
*/
|
15 |
public class ComparatorUtils { |
16 |
|
17 |
public static Comparator naturalComparator() { |
18 |
return new Comparator() { |
19 |
@Override
|
20 |
public int compare(Object o1, Object o2) { |
21 |
if (o1 instanceof Double) { |
22 |
return Double.compare((Double) o1, (Double) o2); |
23 |
} else if (o1 instanceof Float) { |
24 |
return Double.compare((Float) o1, (Float) o2); |
25 |
} else if (o1 instanceof Number) { |
26 |
return Double.compare(((Number) o1).longValue(), ((Number) o2).longValue()); |
27 |
} else {
|
28 |
return Objects.toString(o1, "").compareTo(Objects.toString(o2, "")); |
29 |
} |
30 |
} |
31 |
}; |
32 |
} |
33 |
} |