2.代码实现 2.1 泛型类模拟一个抽奖的操作:
可以有不同的奖池,通过泛型传递进去。
有一个抽奖的方法,随机返回一个被抽中的奖品。
import java.util.ArrayList; import java.util.Random; public class Luck2.2 测试代码{ private ArrayList products; // 奖池,奖品类型通过泛型传递进来 public Luck() { } public Luck(ArrayList products) { this.products = products; } public ArrayList getProducts() { return products; } public void setProducts(ArrayList products) { this.products = products; } // 抽奖的方法:随机返回一个奖品 public T getProduct(){ Random random = new Random(); return products.get(random.nextInt(products.size())); } }
import java.util.ArrayList;
public class LuckApplication {
public static void main(String[] args) {
//1.第一种奖品 : 奖金
Luck integerLuck = new Luck<>();
ArrayList money = new ArrayList<>();
money.add(1000);
money.add(2000);
money.add(3000);
money.add(4000);
money.add(5000);
integerLuck.setProducts(money);
for (int i = 0; i < 5; i++) {
System.out.println("第 "+i+" 次抽奖结果 : "+integerLuck.getProduct());
}
System.out.println("============");
//2.第二种奖品 : 电子产品
Luck stringLuck = new Luck<>();
ArrayList elec = new ArrayList<>();
elec.add("Iphone 13");
elec.add("Hua Wei metaBook14");
elec.add("xiaomi10");
elec.add("平板电脑");
elec.add("苹果笔记本电脑");
stringLuck.setProducts(elec);
for (int i = 0; i < 5; i++) {
System.out.println("第 "+i+" 次抽奖结果 : "+stringLuck.getProduct());
}
}
}
2.3 运行结果
第 0 次抽奖结果 : 2000 第 1 次抽奖结果 : 3000 第 2 次抽奖结果 : 5000 第 3 次抽奖结果 : 5000 第 4 次抽奖结果 : 2000 ============ 第 0 次抽奖结果 : 平板电脑 第 1 次抽奖结果 : Hua Wei metaBook14 第 2 次抽奖结果 : 苹果笔记本电脑 第 3 次抽奖结果 : Hua Wei metaBook14 第 4 次抽奖结果 : xiaomi103.完成
Congratulations!
You are one step closer to success!



