我对java很新,最近学会了如何将ArrayList转换为对象。我在向ArrayList添加变量时的当前问题是:
类型中的方法set(int,GenericMissile) ArrayList不适用于参数(int, 浮动)
我试图以多种方式纠正这个问题,从更改setLocationX()方法的返回值到GenericMissile setLocationX()到将全局变量转换为GenericMissile,没有结果。
我的主要问题是:如何使第二个类文件中的ArrayList与ArrayList参数一起使用?
为了进一步解决这个问题,有没有办法让类文件被转换为任何一个返回值?
下面是我的第一个课程,其中包含我在第二课程中运行的对象:
public class GenericMissile {
float currentX;
float setLocationX() {
currentX = (float) Math.ceil(Math.random() * 801);
return currentX;
}
}
在另一个类文件中,我有:
import java.util.ArrayList;
public class GameManager {
ArrayList<GenericMissile> allM;
public static void main(String[] args) {
GameManager obj = new GameManager();
obj.getInfo();
}
void getInfo() {
allM = new ArrayList<>();
GenericMissile build = new GenericMissile();
allm.set(0,build.setLocationX());
}
}
答案 0 :(得分:0)
GenericMissile#setLocationX()
返回float
,并且您的ArrayList绑定为GenericMissile
,因此您输入的类型错误。你的意思是:
allM = new ArrayList<>();
GenericMissile build = new GenericMissile();
build.setLocationX();
allM.set(0, build);
您也可以GenericMissile
稍稍修改build.setLocationX()
,使setLocationX
在GenericMissile setLocationX(){
float setLocationX(){
currentX = (float) Math.ceil(Math.random()*801);
return this;
}
上自行返回:
for (int i = 0; i < 10; i++)
{
System.out.println(i + ", "data[i]);
}