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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java支持泛型_Java自学-泛型 支持泛型的类

發布時間:2025/7/14 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java支持泛型_Java自学-泛型 支持泛型的类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java 如何設計支持泛型的類

步驟 1 : 不支持泛型的Stack

以Stack棧為例子,如果不使用泛型

當需要一個只能放Hero的棧的時候,就需要設計一個HeroStack

當需要一個只能放Item的棧的時候,就需要一個ItemStack

package generic;

import java.util.LinkedList;

import charactor.Hero;

public class HeroStack {

LinkedList heros = new LinkedList();

public void push(Hero h) {

heros.addLast(h);

}

public Hero pull() {

return heros.removeLast();

}

public Hero peek() {

return heros.getLast();

}

public static void main(String[] args) {

HeroStack heroStack = new HeroStack();

for (int i = 0; i < 5; i++) {

Hero h = new Hero("hero name " + i);

System.out.println("壓入 hero:" + h);

heroStack.push(h);

}

for (int i = 0; i < 5; i++) {

Hero h =heroStack.pull();

System.out.println("彈出 hero" + h);

}

}

}

package generic;

import java.util.LinkedList;

import property.Item;

public class ItemStack {

LinkedList Items = new LinkedList();

public void push(Item h) {

Items.addLast(h);

}

public Item pull() {

return Items.removeLast();

}

public Item peek() {

return Items.getLast();

}

public static void main(String[] args) {

ItemStack ItemStack = new ItemStack();

for (int i = 0; i < 5; i++) {

Item item = new Item("Item name " + i);

System.out.println("壓入 Item:" + item);

ItemStack.push(item);

}

for (int i = 0; i < 5; i++) {

Item item =ItemStack.pull();

System.out.println("彈出 Item" + item);

}

}

}

步驟 2 : 支持泛型的Stack

設計一個支持泛型的棧MyStack

設計這個類的時候,在類的聲明上,加上一個,表示該類支持泛型。

T是type的縮寫,也可以使用任何其他的合法的變量,比如A,B,X都可以,但是一般約定成俗使用T,代表類型。

package generic;

import java.util.HashMap;

import java.util.LinkedList;

import charactor.Hero;

import property.Item;

public class MyStack {

LinkedList values = new LinkedList();

public void push(T t) {

values.addLast(t);

}

public T pull() {

return values.removeLast();

}

public T peek() {

return values.getLast();

}

public static void main(String[] args) {

//在聲明這個Stack的時候,使用泛型就表示該Stack只能放Hero

MyStack heroStack = new MyStack<>();

heroStack.push(new Hero());

//不能放Item

heroStack.push(new Item());

//在聲明這個Stack的時候,使用泛型就表示該Stack只能放Item

MyStack itemStack = new MyStack<>();

itemStack.push(new Item());

//不能放Hero

itemStack.push(new Hero());

}

}

總結

以上是生活随笔為你收集整理的java支持泛型_Java自学-泛型 支持泛型的类的全部內容,希望文章能夠幫你解決所遇到的問題。

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