最近用到的是使用分頁元件時pagehelper中定義的pageparam,這個t
表示返回值是乙個泛型,傳遞啥,就返回啥型別的資料,而單獨的t
就是表示限制你傳遞的引數型別。首先理解list集合(集合中一般為限制list中物件的型別)中對泛型的要求,再去理解類的泛型。類上泛型特殊的就是制定的t可以作為類中的乙個屬性,當做乙個入參,下面是常見的分頁入參時的使用。這麼做有個優點:
作為分頁條件的入參,泛型t通用無比,表示為我也不知道會放什麼型別,你就留著就行,當我新建這個類的時候會給你指定t的型別,到時候你再把我其中的屬性t param轉成對應型別就行了,多重入參都可以使用這個類,只要指定了型別。
前後端分離 前端和後端定義入參的時候,到了後端再指定t的具體型別,體現在controller層方便維護,可以準確的知道入參的除了分頁的固定屬性(pagenum等)外 t 的型別
t
表示的是返回值t是泛型,t是乙個佔位符,用來告訴編譯器,這個東西先給我留著,等我編譯的時候,告訴你。
public class pageparamimplements ipage
public integer getpagenum()
public void setpagenum(integer pagenum)
public integer getpagesize()
public void setpagesize(integer pagesize)
public t getparam()
public void setparam(t param)
public string getorderby()
}
返回值,直接寫t
表示限制引數的型別,看下面的getpage方法即可(入參pageparam指定了泛型t為staffvo)
@restcontroller
public class testcontroller
public pageinfogetpage(@requestbody pageparampageparam)
}
servicebase
public inte***ce baseservice
/*** 集合查詢
* * @param param 查詢引數
* @return 查詢響應
*/listlist(param param);
}
service
public inte***ce templateservice extends baseservice
serviceimpl
@service
public class templateserviceimpl implements templateservice
}
上面這一套是pagehelper的處理真的好,記錄下來以便以後用。 Java基礎 泛型理解
先來看下這一段 public class test test public void test 泛型擦除,由於虛擬機器中沒有泛型型別的物件。無論定義何種泛型型別,都必須會有乙個原始型別,虛擬機器執行時會將型別變數擦除,並統一用object代替,從此變為乙個普通類物件。test public void...
泛型的理解
泛型是編譯器層面上的而不是虛擬機器上的,虛擬機器上不存在泛型.x.可以使用泛型的有 類,介面和方法.泛型方法可以直接定義在普通類中 方法的如下 public t gett t t public static extends abc t gett t t 是必須存在的,可以限定返回值和引數tx.泛型在...
泛型基礎和作用
泛型是jdk5才引進的,泛型其實指得就是引數化型別,使得 可以適應多種型別。像容器,list t 大量使用了泛型,它的主要目的之一就是用來指定容器要持有什麼型別的物件。我認為,泛型的好處很多 當沒有使用泛型的情況下,建立了乙個狗的列表,list dogs new arraylist,每次要往狗列表新...