如何将接受的对象分配给泛型?

时间:2014-07-03 11:27:23

标签: java

是否可以将多个对象设置为List?
如果我宣布List<Object>,它将接受任何类型的对象 如果我声明List<Integer>,它将只接受整数 我可以列出一个会接受IntegersFloats而没有其他内容的列表吗?

3 个答案:

答案 0 :(得分:1)

  

是否可以将多个对象设置为List?

是的,您可以通过将列表声明为List<Object>

来实现
  

我可以制作一个列表,它会接受整数或浮点数吗?

没有直接接受两种类型的方法。

可能的方法是

  • 1)取个人名单(首选)

  • 2)取类型对象列表。并使用insatanceof关键词 使用它。

  • 3)实现您自己的列表并覆盖add()方法。而 添加到该列表检查实例的类型,如果不需要, 抛出Exception

答案 1 :(得分:0)

您可以从This tutorial获得支持,您也可以阅读java文档。

还有一个帖子here

答案 2 :(得分:0)

要模拟一个可以保存整数或浮点值的列表,我可能会使用&#34; Either&#34;类型。 虽然java没有自动提供它,但是stackoverflow可以帮助实现足够好的实现:

How can I simulate Haskell's "Either a b" in Java

所以你会:

List<Either<Integer,Float>> list;