请教高手:COM中的Variant可以实现对不同数据类型的统一封装,不知道Java中有没有类似的机制?

解决方案 »

  1.   

    不是十分明白你的意思,不过Java中任何数据类型都可以用Object来装箱,因为Java是单根系统。不过并不是说Object可以当成任何数据类型来用。
    据个人了解Java中应该没有这样一种数据类型
      

  2.   

    Object,java中所有的对象(除了基本类型),都是继承于它的.
      

  3.   

    我的目的其实很简单,就是要用一种机制存储int、boolean、string等各种数据类型,而且不能太过于损失效率,自己写一个这样的类固然可以,只是可能效率比较低。
    Object固然可以使用,但是因为我要做的自动机制,根据属性中指定的数据类型,自动付相应类型的值,不要我自己根据情况产生不同的对象类型。
    其实我很奇怪,虽然Variant类型是用于COM的,但是它确实是一种非常优秀的思想,为什么JAVA没有呢?
      

  4.   

    因为JAVA是强类型语言,对对象类型要进行严格检测,避免程序出错概率
      

  5.   

    Object绝对可以,java的向上转型!
      

  6.   

    至目前为止,得出的结论是:
    (1) 没有直接的类似Variant的机制
    (2) JAVA是强类型限制的
    (3) Object可以作为所有这些类的父类,但是我要的只是一种简单的转换机制,不是一个复杂的继承系统。我不想让简单的事情复杂话,但是我又想寻找一种能够适合大部分情况的方法。所以,我决定采用一种变换的方法,声明一个类,在内部声明几个域:整型值、双精度值、字符串值、对象型值,声明一个类型说明,根据说明操作不同的域。基本上和Variant是一样的思想。
      

  7.   

    Variant本身就是一个大大的Union,照着用Java写一个不就行了。 但我建议你直接用Object就行了。