Java数组类的设计者提供给我们一个方便的模板方法用来排序:
image.png
道理很简单,传入sort方法的对象数组必须是可排序的,也就是必须要实现comparable接口,否则就会报错(无法强转为Comparable类型)
countRunAndMakeAscending方法就是一个模板方法,使用方需要实现compareTo方法才能完成这个方法,而reverseRange方法是一个已经在当前类中实现的方法,所以这个实现算是一个模板方法的变种
我们来看一下实际应用:
image.png
测试类:
image.png