繁体   English   中英

ArrayList:当您有多个设置器时如何arraylist.set

[英]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个参数,首先是要替换的元素的索引,然后是第二个要替换的元素。 因此,在您的情况下,它是intBot类的实例。

要在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM