Java 为什么会出现“不兼容类型错误”?
代码如下:Java 为什么会出现“不兼容类型错误”?,java,arrays,int,double,incompatibility,Java,Arrays,Int,Double,Incompatibility,代码如下: double[] hundredElementsMillionArray = new double[10000000]; for(double ii=0;ii<10000000;ii++){ hundredElementsMillionArray[ii] = ii; } double[]hundredElementsMillionArray=新的双精度[10000000]; 对于(double ii=0;ii数组的索
double[] hundredElementsMillionArray = new double[10000000];
for(double ii=0;ii<10000000;ii++){
hundredElementsMillionArray[ii] = ii;
}
double[]hundredElementsMillionArray=新的双精度[10000000];
对于(double ii=0;ii数组的索引总是int
,因此hundredElementsMillionArray[ii]
需要将ii
转换为int
,但由于这种转换可能会导致信息丢失,因此在没有显式转换的情况下是不允许的
这将通过以下步骤:
double[] hundredElementsMillionArray = new double[10000000];
for(double ii=0;ii<10000000;ii++){
hundredElementsMillionArray[(int) ii] = ii;
}
double[]hundredElementsMillionArray=新的双精度[10000000];
对于(double ii=0;ii数组的索引总是int
,因此hundredElementsMillionArray[ii]
需要将ii
转换为int
,但由于这种转换可能会导致信息丢失,因此在没有显式转换的情况下是不允许的
这将通过以下步骤:
double[] hundredElementsMillionArray = new double[10000000];
for(double ii=0;ii<10000000;ii++){
hundredElementsMillionArray[(int) ii] = ii;
}
double[]hundredElementsMillionArray=新的双精度[10000000];
对于(double ii=0;ii数组索引不能是float
或double
它必须是integer
因此,您必须将typecast
转换为int
作为hundredElementsMillionArray[(int)ii]
,否则最好的解决方案是您应该使用索引变量作为int
类型。数组索引不能是float
或double
它必须是integer
因此,您必须将typecast
转换为int
ashundredElementsMillionArray[(int)ii]
或者最好的解决方案是您应该使用索引变量作为int
类型。您的代码不会编译,因为数组的索引从来都不是双精度的。我不是java专家,但双精度ii可能应该是int ii。试试这个int ii=0;ii您的代码不会编译,因为数组的索引从来都不是双精度的。我不是java exp但是double ii应该是int ii。试试这个int ii=0;ii