double是基本数据类型,Double是double的包装类,虽然表示的内容应该是一样的,但是作为一个类在Double里提供了许多法,比如.doubleValue就是要new Double(2323)是因为参数要求是Double,java是强类型的语言,类型之间必须自行转换像Integer是int的包装类
  Byte是byte的包装类那些都在java.math.*包里。

解决方案 »

  1.   

    Map,List等Collection只能放置Object类,也就是必须要把int,long等包装起来
      

  2.   

    谢谢kypfos的回答,可我还有点不明白,望赐教:
    那如果是new Double(2323.34)的话还要转行吗?而且我觉得那个Double不是用来转型吧,应该是初始了一个新的Double型变量并赋初值吧?对吗?就像double a=10;也是允许的呀,它会自动把a的值转成10.0的。
      

  3.   

    Double是object而double primative类型,而double a = 10是相同类型(primative类型)之间的转换。
      

  4.   

    注意几个基本类型
    int,long,short,float,double,char,byte
    这些都是基本类型,作为Object对象处理!