主题:菜鸟提问 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[]出现了冲突?还是有别的原因?
[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[]出现了冲突?还是有别的原因?