【问题标题】:Object class of every type in JavaJava中每种类型的对象类
【发布时间】:2015-01-18 14:08:09
【问题描述】:

如何创建任何类型(字符串、字符、int、float、double.short、long、byte 等)的类 Object,以便我可以使用接受类 Object 的所有类型的链表列表

【问题讨论】:

  • 在 Java 中,所有类都扩展了 Object。那你为什么要再做一次?
  • 听起来像xy problem。拥有该列表后,您实际上想对它做什么?
  • 我要序列化字符串中的列表对象

标签: java object


【解决方案1】:

与 Java 中任何东西兼容的类对象是Object.class。如果你创建一个LinkedList<Object>,你就可以把任何东西放进去。

请注意,诸如floatint 等原始值将存储在它们的对象包装器中,即FloatInteger 等。这个事实可能会被自动装箱隐藏,但通用 Java集合不能直接存储原语。

【讨论】:

    【解决方案2】:

    如果您想将实际原始值存储在 LinkedList 中,您可能必须等到 Java 10,届时可能会实施 Valhalla 项目。然后您就可以实例化new LinkedList<int>() 等。在此处阅读专业化文档的状态:

    目前,Trove4j 是一个 Java 项目,它实现了原始类型的专用集合,例如 TIntList。或者,您可以在 LinkedListas others have mentioned 中放入盒装类型。

    【讨论】:

      【解决方案3】:
      List<Object> ll = new LinkedList<Object>();
      ll.add(new String("aaa"));
      ll.add(new Integer(123));
      

      【讨论】:

        猜你喜欢
        • 2013-06-18
        • 2012-10-19
        • 2015-12-03
        • 2017-11-13
        • 2010-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-19
        相关资源
        最近更新 更多