import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
String[] strings = new String[]{"123","avbs","asdasd","74365222222"};
StringRuler stringRuler = new StringRuler();
Arrays.sort(strings,stringRuler);
System.out.println(Arrays.toString(strings));
}
}
/**
* 实现Comparator接口,可以带泛型
* 进行比较
*/
class StringRuler implements Comparator<String>{
@Override
public int compare(String o1, String o2) {
return o2.length()-o1.length();
}
}
定义一个内部类(这算是内部类吗)实现Comparator接口 参数o2和o1是两个String(泛型决定 可是Object) 返回值是o2.length()-o1.length();即根据字符串长度从大到小排序
Arrays.sort参数是String类型的数组和刚刚自己建的StringRuler 类的对象stringRuler,这个对象是作为条件参数(和mybaits-puls的Wrapper<T> queryWrapper类似?)