[英]ArrayList: How to arraylist.set when you have multiple setters
我目前有2节课。 我的机器人:
public class Bot {
private int X;
private int Y;
private int degress;
public int getX() {
return X;
}
public int getY() {
return Y;
}
public int getDegress() {
return degress;
}
public void setX(int X) {
this.X = X;
}
public void setY(int Y) {
this.Y = Y;
}
}
和我的主要代码..我遇到的问题是试图在我的主要班级中设置学位。 我正在尝试做的事情类似于:
bots.set(bots.get(1).getDegress(),+1);
但是给我这个错误“ ArrayList类型中的方法set(int,Bot)不适用于参数(int,int)”
以及我的ArrayList的样子
public static ArrayList<Bot> bots = new ArrayList<Bot>();
总结一下。 我如何才能通过bots.set更改X,Y或Degress?
bots.set
是一个ArrayList
方法。 要更改Bot
实例,必须调用Bot
方法。
它应该是:
Bot bot = bots.get(1);
bot.setDegrees(bot.getDegrees()+1);
或者,当然,您的Bot
类中将需要一个setDegrees
方法。
bots.set(bots.get(1).getDegress(),+1);
在此行上,您正在调用ArrayList类的Set方法,该方法用于替换列表中指定索引处的元素。 它有2个参数,首先是要替换的元素的索引,然后是第二个要替换的元素。 因此,在您的情况下,它是int
和Bot
类的实例。
要在Bot
类对象中设置degrees
,您首先必须从list bots
获取setDegrees()
,然后在bot类的对象上使用setDegrees()
(似乎Bot类中缺少该类)。
bots.get(1).setDegrees(bots.get(1).getDegress()+1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.