当前位置:嗨网首页>书籍在线阅读

05-扩展的动机

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

6.2.1 扩展的动机

在Java中,我们通常会见到以Utils结尾命名的类,如FileUtils、StringUtils等,在这些类中往往会提供一些静态的函数,用于完成某项具体的功能,如java.util.Collections就提供了一个swap()方法,该方法主要用来交换在指定列表中的指定位置元素。正常情况下,调用该方法的过程如下。

Collections.swap(list, Collections.binarySearch(list, Collections.max(otherList)), Collections.max(list));

省略类名,静态导入调用方法。

swap(list, binarySearch(list, max(otherList)), max(list))

虽然简化了代码,但是对于IDE的代码补全帮助很少或没有帮助。

list.swap(list.binarySearch(otherList.max()), list.max())

此时,新增了一个list对象,但是我们并不想实现list内部所有可能的方法,这时候就用到了扩展。