日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

定义和使用含有泛型的类

發布時間:2024/4/13 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 定义和使用含有泛型的类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

泛型的定義與使用

我們在集合中會大量使用到泛型,這里來完整地學習泛型知識。

泛型,用來靈活地將數據類型應用到不同的類、方法、接口當中。將數據類型作為參數進行傳遞。

定義和使用含有泛型的類

定義格式:

修飾符 class 類名<代表泛型的變量> { }

例如,API中的ArrayList集合:

class ArrayList<E>{ public boolean add(E e){ }public E get(int index){ }.... }

使用泛型: 即什么時候確定泛型。

在創建對象的時候確定泛型

例如,ArrayList<String> list = new ArrayList<String>();

此時,變量E的值就是String類型,那么我們的類型就可以理解為:

class ArrayList<String>{ public boolean add(String e){ }public String get(int index){ }... }

再例如,ArrayList<Integer> list = new ArrayList<Integer>();

此時,變量E的值就是Integer類型,那么我們的類型就可以理解為:

class ArrayList<Integer> { public boolean add(Integer e) { }public Integer get(int index) { }... }

舉例自定義泛型類

public class MyGenericClass<MVP> {//沒有MVP類型,在這里代表 未知的一種數據類型 未來傳遞什么就是什么類型private MVP mvp;public void setMVP(MVP mvp) {this.mvp = mvp;}public MVP getMVP() {return mvp;} }

使用:

public class GenericClassDemo {public static void main(String[] args) { // 創建一個泛型為String的類MyGenericClass<String> my = new MyGenericClass<String>(); // 調用setMVPmy.setMVP("大胡子登登");// 調用getMVPString mvp = my.getMVP();System.out.println(mvp);//創建一個泛型為Integer的類MyGenericClass<Integer> my2 = new MyGenericClass<Integer>(); my2.setMVP(123); Integer mvp2 = my2.getMVP();} } package com.learn.demo03.Generic; /*定義一個含有泛型的類,模擬ArrayList集合泛型是一個未知的數據類型,當我們不確定什么什么數據類型的時候,可以使用泛型泛型可以接收任意的數據類型,可以使用Integer,String,Student...創建對象的時候確定泛型的數據類型*/ public class GenericClass<E> {private E name;public E getName() {return name;}public void setName(E name) {this.name = name;} } package com.learn.demo03.Generic;public class Demo02GenericClass {public static void main(String[] args) {//不寫泛型默認為Object類型GenericClass gc = new GenericClass();gc.setName("只能是字符串");Object obj = gc.getName();//創建GenericClass對象,泛型使用Integer類型GenericClass<Integer> gc2 = new GenericClass<>();gc2.setName(1);Integer name = gc2.getName();System.out.println(name);//創建GenericClass對象,泛型使用String類型GenericClass<String> gc3 = new GenericClass<>();gc3.setName("小明");String name1 = gc3.getName();System.out.println(name1);} }

?

總結

以上是生活随笔為你收集整理的定义和使用含有泛型的类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。