0
点赞
收藏
分享

微信扫一扫

【Java泛型】Java泛型实现抽奖

小沙坨 2022-01-20 阅读 86
import java.util.ArrayList;
import java.util.Random;

/**
 * 抽奖器
 * @param <T>
 */
public class ProductGetter<T> {

    // 奖品
    private T product;
    // 奖品池
    ArrayList<T> list = new ArrayList<>();

    Random random = new Random();

    // 添加奖品
    public void addProduct(T t ) {
        list.add(t);
    }

    // 抽奖
    public T getProduct() {
        product = list.get(random.nextInt(list.size()));
        return product;
    }
}
public class Main {
    public static void main(String[] args) {

        ProductGetter<String> stringProductGetter = new ProductGetter<>();
        String[] strProducts = {"华为手机", "苹果手机", "扫地机器人", "咖啡机"};
        for (int i = 0; i < strProducts.length; i++) {
            stringProductGetter.addProduct(strProducts[i]);
        }

        String product1 = stringProductGetter.getProduct();
        System.out.println("恭喜你抽中了:" + product1);

        ProductGetter<Integer> integerProductGetter = new ProductGetter<>();
        Integer[] intProducts = {10000, 2000, 500, 20000};
        for (int i = 0; i < intProducts.length; i++) {
            integerProductGetter.addProduct(intProducts[i]);
        }

        Integer product2 = integerProductGetter.getProduct();
        System.out.println("恭喜你抽中了:" + product2);
    }
}
举报

相关推荐

0 条评论