泛型的基礎理解和pagehelp的優化用法

2021-10-10 06:32:49 字數 1573 閱讀 9782

t表示返回值是乙個泛型,傳遞啥,就返回啥型別的資料,而單獨的t就是表示限制你傳遞的引數型別。首先理解list集合(集合中一般為限制list中物件的型別)中對泛型的要求,再去理解類的泛型。類上泛型特殊的就是制定的t可以作為類中的乙個屬性,當做乙個入參,下面是常見的分頁入參時的使用。

這麼做有個優點:

作為分頁條件的入參,泛型t通用無比,表示為我也不知道會放什麼型別,你就留著就行,當我新建這個類的時候會給你指定t的型別,到時候你再把我其中的屬性t param轉成對應型別就行了,多重入參都可以使用這個類,只要指定了型別。

前後端分離 前端和後端定義入參的時候,到了後端再指定t的具體型別,體現在controller層方便維護,可以準確的知道入參的除了分頁的固定屬性(pagenum等)外 t 的型別 

最近用到的是使用分頁元件時pagehelper中定義的pageparam,這個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,每次要往狗列表新...