回 帖 发 新 帖 刷新版面

主题:菜鸟提问 double 和 Double 是同一类型吗?

请问 double 和 Double 是同一类型吗?如下代码,
[color=FF0000]
static void creatNewArr(double[] value) [/color]
{
ArrayList tmpList=new ArrayList();
double aver=0;  //平均数
double[] leftValue=new double[value.length];
double leftAv=0;  //剩余误差
double beisai=0; //贝塞尔计算
double G;
double in_chuCha=0; //粗差
int rw=0;  //有无粗差
Cal inpin=new Cal();

aver=inpin.getAver(value,value.length);
leftValue=inpin.getLeftValue(value,aver);
System.out.println("平均值:"+aver+"V");
beisai=inpin.getBeiSai(leftValue,leftValue.length);
G=inpin.getG(leftValue.length);
in_chuCha=G*beisai;
System.out.println("粗差:G*~e="+in_chuCha);
rw=inpin.getRW(leftValue,in_chuCha);
System.out.println("有无坏值?1:有;2无"+" "+rw);

for(int i=0;i<value.length;i++)
{
if(value[i]<in_chuCha) tmpList.add(new Double(value[i]));
}
[color=FF0000]
Double[] newarr=new Double[tmpList.size()];  
tmpList.toArray(newarr); 
if(rw==1) creatNewArr(newarr);
[/color]
}
其中函数的参数static void creatNewArr(double[] value) 用了double[]定义,而下面的新数组Double[] newarr=new Double[tmpList.size()];  用了Double[]定义,最后用递归方式creatNewArr(newarr);传值,编译时候提示:
Cal.java:89:creatNewArr(double[]) in Cal cannot be applied to (java.lang.Double[])
if(rw==1) creatNewArr(newarr);
我想请问大侠们是不是double[]类型传递和接收参数类型Double[]出现了冲突?还是有别的原因?

回复列表 (共3个回复)

沙发

double 是一个基本类型,而Double是一个类。它们的关系就同int 和Integer的关系一样

板凳

在JAVA语言中,有基本数据类型,如:int,short,boolean,char等,
另外,每一种基本数据类型都对应着一个封装类,如:Integer,Double等,这些封装类都在java.lang包中,你可以在java api中查找并学习一下,这是很重要、很基本的基础知识哟!!!!!
double 对应  Double类!!!  

3 楼

谢谢楼上的两位,问题得到了解决。[em1]

我来回复

您尚未登录,请登录后再回复。点此登录或注册