泛型,就是允許在定義類別、介面時透過一個標識表示類別中某個屬性的類型或是某個方法的傳回值及參數類型。這個類型參數將在使用時(例 如,繼承或實作這個接口,用這個類型宣告變數、建立物件時)確定(即 傳入實際的類型參數,也稱為類型實參)。
泛型是一種參數化型別。
泛型是JDK5.0出現,在先前的版本是不能使用的;
泛型是需要寫在一對<>中的;
#泛型的型別必須是引用型別,不能是基本資料型別;
public class DAO<T> { private Map<String ,T> map = new HashMap<>(); public void save(String id,T entity){ map.put(id,entity); } public T get(String id){ return map.get(id); } public void update(String id,T entity){ map.put(id,entity); } public List<T> list(){ Collection<T> values = map.values(); List list = new ArrayList(); for (T value : values) { list.add(values); } return list; } public void delete(String id){ map.remove(id); } }
public class DAOTest { public static void main(String[] args) { DAO<User> userDAO = new DAO<>(); User user1 =new User(1,12,"张三"); User user2 =new User(2,13,"李四"); User user3 =new User(3,14,"王五"); userDAO.save("1",user1); userDAO.save("2",user2); userDAO.save("3",user3); System.out.println(userDAO.get("1")); userDAO.update("1",new User(1,18,"张三")); List<User> list = userDAO.list(); System.out.println(list); userDAO.delete("1"); System.out.println(userDAO.list()); } }
以上是java泛型如何應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!