@Test
public void test3() {
String[] array = new String[]{"AA", "FF", "SD", "DA", "WW", "AE"};
Arrays.sort(array, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
if (o1 instanceof String && o2 instanceof String) {
String s1 = (String) o1;
String s2 = (String) o2;
return -s1.compareTo(s2);
}
throw new RuntimeException("Error");
}
});
System.out.println(Arrays.toString(array));
}
@Test
public void Test4() {
Goods[] array = new Goods[4];
array[0] = new Goods(300, "SB1");
array[1] = new Goods(300, "SB2");
array[2] = new Goods(154, "SB3");
array[3] = new Goods(543, "SB4");
Arrays.sort(array, new Comparator<Goods>() {
@Override
public int compare(Goods o1, Goods o2) {
if (o1.name.equals(o2.name)) {
return -Double.compare(o1.price, o2.price);
} else {
return o1.name.compareTo(o2.name);
}
}
});
System.out.println(Arrays.toString(array));
}
}
package com.atguigu.java;
public class Goods{
public double price;
public String name;
public Goods(double price, String name) {
this.price = price;
this.name = name;
}
@Override
public String toString() {
return "Goods{" +
"price=" + price +
", name='" + name + '\'' +
'}';
}
}