日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解Java泛型之(四)一個例子理解泛型帶來的好處

今天我設(shè)計一個實例,分別通過重載、Object類型參數(shù)以及泛型三種方式來實現(xiàn)這個實例,讓大家清楚地體會到使用泛型技術(shù)給我們帶來的好處!

從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都做網(wǎng)站、網(wǎng)站設(shè)計服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。

實例需求

有這樣一個需求,自己寫一個方法能夠比較兩個數(shù)值的大小,如果相等返回true,否則返回false。

通過重載實現(xiàn)

分析:因為在java中,常用數(shù)值包括Integer、Float、Double、Long我們可以利用重載的知識(同名不同參)設(shè)計四個方法來實現(xiàn)

 
 
 
 
  1. public static boolean equal(Integer a,Integer b) { 
  2.       if (a.equals(b)) 
  3.         return true; 
  4.       else 
  5.         return false; 
  6.    } 
  7.    public static boolean equal(Double a,Double b) { 
  8.       if (a.equals(b)) 
  9.         return true; 
  10.       else 
  11.         return false; 
  12.    } 
  13.    public static boolean equal(Float a,Float b) { 
  14.       if (a.equals(b)) 
  15.         return true; 
  16.       else 
  17.         return false; 
  18.    } 

通過Object類型參數(shù)實現(xiàn)

很顯然像上面這樣的設(shè)計稍微有些麻煩,我們可以利用Object作為參數(shù),通過一個方法就實現(xiàn)該需求,代碼如下:

 
 
 
 
  1. public static boolean equal(Object a,Object b) { 
  2.       if (a.equals(b)) 
  3.         return true; 
  4.       else 
  5.         return false; 
  6.    } 

通過泛型實現(xiàn)

但是像上面這樣設(shè)計仍然有一個問題,因為參數(shù)是Object,所以可以實現(xiàn)equal(123,“abc”) 的比較,這與題目要求不符!題目要求是——比較兩個數(shù)值的大小,而abc的類型是String。這個時候我們就可以通過泛型的知識來解決該問題了,我們看Integer、Float、Double、Long的源碼發(fā)現(xiàn),他們都繼承了抽象類Number,于是我們可以使用泛型的邊界值的知識點解決該問題,代碼如下:

很顯然通過泛型的方式實現(xiàn),不僅讓代碼量減少了很多,還很容易地控制了參數(shù)的傳入范圍!


分享名稱:詳解Java泛型之(四)一個例子理解泛型帶來的好處
分享URL:http://www.5511xx.com/article/djhcipc.html