【发布时间】:2016-10-30 01:42:37
【问题描述】:
我有以下:
public class RandomList {
private List<Integer> list;
public List<Integer> getList() {
return list;
}
public RandomList (int n) {
list = new ArrayList<Integer>();
Random rand = new Random();
rand.setSeed(System.currentTimeMillis());
for (int i=0; i < n; i++)
{
Integer r = rand.nextInt();
list.add(r);
}
}
}
这给了我一个充满随机整数值的列表。我想对此进行概括,以获取随机字符值列表或其他类型的随机值列表。
所以我想要的是一个泛型版本,class RandomList<T>。我可以用“T”替换任何地方的“Integer”,但我被困在Integer r = rand.nextInt();这行,对于不同的类型,它的读法会有所不同。
我正在考虑做以下事情:
- 将泛型类型的类传入RandomList
- 使用
instanceof检查传入的类与所需类型(整数、字符...)并根据检查返回正确的随机值
这有意义吗?是否有另一种/更好的方法来实现我想要的?
【问题讨论】: