首先我们知道,java内的所有类型均继承自Object这个基本类,Long是java.lang.Long类型,自然也是继承了Object类型,所以你可以把一个Long对象赋给Object的引用。
然而基本类型是例外,比如上边的long,它非常特殊,并不继承Oject,所以你不能把long类型的对象赋给Oject引用。
以此原理来解释你所问的数组也就很好理解了。
同理,string和String也有类似的情况。

解决方案 »

  1.   

    Long 是Java的包装类,锁谓包装类,就是可以直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,从字面上我们就可以看出它们分别对应于 boolean、char、int、long、float和double。这些类都是从Object继承而来的, 所以要引用的事一个对象的话只能用Long而long是个基本类型并不是个类 
      

  2.   

    楼主理解的是对的为了实现面向对象思想,java希望数据类型也能是对象,但又不想失去基本类型,所以为各个基本类型又定义了一个类,区别基本在于第一个字母是否大写
    如:
    long Long
    int  Integer
    float Float
    double Double

    区别在于:对于类,可以有属性和方法,而基本类型只能进行基本运算了
    所以可以是:
    Long l=new Long(); l.toString();
    long l=10;好像没有string这个东西把,只有String类
      

  3.   

    string和String也有类似的情况string???? 
      

  4.   

    呵呵,,一楼那个同志可惨了,,搞出个string来,你看,,,哈哈!
      

  5.   

    就是包装类Long和原始类型long的关系啊
    有string和String的关系嘛?好象没有吧.
      

  6.   

    可以用longValue()返回long的值。
      

  7.   

    不好意思,这几天写javascript多了,说错了,请各位原谅。是想说float和Float的。
    实在抱歉!:)