麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

策略模式多種方式實現字符串比較

2019-11-06 07:24:37
字體:
來源:轉載
供稿:網友
**調用對象上的方法通常是執行該對象上的某項操作**.

如果一個對象的方法執行其他對象的操作,一個類僅僅導出這個方法(它的實例相當于一個指向該方法的指針),這樣的實例被稱為函數對象 例如: /** * 如果一個類的所有實例在功能上都是相互等價的,那么他應該被設計為一個singleton

public class StringLengthComparator { PRivate StringLengthComparator() { } public static final StringLengthComparator INSTANCE = new StringLengthComparator(); public int compare(String s1, String s2) { return s1.length() - s2.length(); }}

//策略接口

public interface Comparator<T> { public int compare(T s1,T s2);}

/** * 如果使用匿名雷勝明,將會在每次執行調用的時候創建一個新的實例.應該講函數對象儲存在一個私有的靜態域final里面并重用它 * @author JacXuan * */

public class Host {// //使用匿名內部類// Arrays.sort(StringArray,new Comparator<String>(){// public int compare(String s1,String s2){// return s1.length()-s2.length();// }// }) private static class StrlenCmp implements Comparator<String>,Serializable{ @Override public int compare(String s1, String s2) { return s1.length()-s2.length(); } } public static final Comparator<String> STRING_LENGTH_COMPARATOR = new StrlenCmp();}

總結:函數指針的只要用途就是實現策略模式. 在java中實現這種模式,首先要聲明一個接口來表示該策略,并且為每個具體策略聲明一個實現了該接口的類.當一個具體策略只被調用一次的時候,通常使用匿名類來聲明和實例化這個具體的實現類.當一個具體策略是設計用來重復使用的時候,它的類通常就要被實現為私有的靜態成員類,并通過公有的靜態final域被導出,其類型為該策略接口


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人三级黄色片 | 日韩av影片在线观看 | 末成年女av片一区二区 | 国产精品三级a三级三级午夜 | 免费一级特黄毛片视频 | 做爰xxxⅹ性护士hd在线 | 国产精品久久久久av | 国产精品久久久久av | 久久久青| 免费a级片在线观看 | 午夜偷拍视频 | 午夜爽爽爽男女免费观看hd | 国产98色在线 | 国产精品资源手机在线播放 | 蜜桃网在线观看 | 午夜亚洲视频 | 久久2019中文字幕 | 久久久久久久亚洲视频 | 中文字幕在线免费观看电影 | 成人一级黄色片 | 国产羞羞视频在线免费观看 | 国产精品成aⅴ人片在线观看 | 九九精品在线观看视频 | 亚洲尻逼视频 | 免费一区在线 | 精品亚洲成a人在线观看 | 成人免费毛片一 | 国产精品久久久久久久久久久天堂 | 久久精品伊人网 | 天天看天天摸天天操 | 亚洲欧美一区二区三区在线观看 | 久久亚洲精选 | 国产一级毛片国产 | 中文字幕一区二区三区久久 | 国产一区二区精品91 | 国内精品久久久久久久星辰影视 | 亚洲精华液久久含羞草 | 亚洲精品v天堂中文字幕 | 日本中文字幕久久 | 国产精品99久久久久久大便 | 97伦理|