av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Java靜態泛型使用方法實例解析

瀏覽:11日期:2022-08-31 14:28:57

前言:當工具類對多個模型類進行排序,比較等操作的時候,需要書寫大量重復代碼,因為懶人總要想怎么省事的,所以考慮使用泛型這個玩意簡化代碼

案例:當前存在兩個模型類,Fruit和Person,他們都需要排序方法而且業務邏輯各不相同,因此需要分別寫兩個排序方法,但因為排序相同的地方太多,唯一的區別就是判斷兩個對象的大小關系,于是在此做簡化操作。

執行步驟:

1、編寫模型類接口 interface Model

public interface Model<T> { public int compareTo(T model); }

這里僅需要定義一個比較的方法

2、編寫Person類 class Person

public class Person implements Model<Person> { private String name; public Person(String _name) { this.name = _name; } @Override public int compareTo(Person _person) { return this.name.compareToIgnoreCase(_person.name); }}

Fruit的代碼我就不放上來了,因為為了舉例我這倆的比較方法寫的是一樣的,但是實際業務代碼可能是不一樣的

3、編寫工具類 class Sort

public class Sort { public static <T extends Model<T>> void sort(List<T> list) { for (int i = 0; i < list.size() - 1; i++) { for (int j = i; j < list.size(); j++) {if (list.get(i).compareTo(list.get(j)) > 0) { T swap = list.get(i); list.set(i, list.get(j)); list.set(j, swap);} } } }}

隨便找了個排序算法就套進去了

然后就是主函數的調用

public class Main{ public static void main(String[] args){ LinkedList<Person> list = new LinkedList<>(); list.add(new Person('admin')); list.add(new Person('root')); list.add(new Person('huawei')); list.add(new Person('cisco')); Sort.sort(list); for (Person item : list) { System.out.println(item.toString()); } }}

4、Fruit類只要按照Person類一樣實現Model的compareTo方法就可以使用Sort.sort方法進行排序了

后記:最開始我的想法是寫個Model接口,在接口中寫一個compareTo方法,然后形參類型不知道咋寫了

如果寫Model的話,Person實現compareTo方法的時候形參類型也肯定是Model

我這塊的邏輯比較簡單,用name字段進行比較,如果在Model接口加上getName方法后,怎么看都不舒服

Model類不一定都有name字段,而且這樣Person類就可能會與Fruit類進行比較

雖然可以在邏輯上不這么搞,但是怎么都看得難受啊,于是就想到用泛型搞這玩意

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 99久久精品免费看国产四区 | 久久久久资源 | 精品一区欧美 | 日韩视频一区二区 | 精品视频久久久久久 | 国产精品海角社区在线观看 | 每日更新av | 日韩免费av| 久久99精品国产自在现线小黄鸭 | 激情影院久久 | 人人人艹 | 91欧美激情一区二区三区成人 | 日韩高清中文字幕 | 欧美日韩高清在线一区 | 一级全黄少妇性色生活免费看 | 91久久伊人 | 日韩欧美国产综合 | 欧美亚洲国产精品 | 岛国av免费在线观看 | 精品国产欧美一区二区三区不卡 | 日韩午夜在线播放 | 欧州一区二区 | 久久人人爽人人爽人人片av免费 | 国产资源视频 | 日韩国产中文字幕 | 日韩精品一区二区三区免费视频 | 亚洲欧美精品国产一级在线 | 本道综合精品 | 日韩精品视频网 | 操人网 | 精品久久香蕉国产线看观看亚洲 | 日本中文字幕一区 | 精品综合久久久 | 91视频进入 | 欧美国产激情 | 欧美日韩精品一区二区三区视频 | 国产一区影院 | 天天干天天操天天看 | 国产伦一区二区三区久久 | 91网站在线观看视频 | 精品视频久久久 |