gpt4 book ai didi

java - 更改 arraylist 内的 class 内的整数值?

转载 作者:行者123 更新时间:2023-11-30 02:44:15 25 4
gpt4 key购买 nike

嘿,我正在编写一些代码,想要更改存储类的数组列表的整数的值,在我的代码中,我一直在使用

访问类的不同实例,没有问题
arrayListName.get(index).variableName

并且没有尝试使用

设置它们
arrayListName.set(index).variableName = X; 

但 set 似乎需要参数来更改保存原始数据而不是类等的数组列表

这是我的代码

    //ARRAYLIST DECLARATION
ArrayList<Ship> ship_arraylist = new ArrayList<Ship>();

void setup() {
//ARRAYLIST INITIALIZE
ship_arraylist = new ArrayList<Ship>();
//LOAD DATA
loadData();
}//end Setup()

void loadData() {
String[] lines = loadStrings("Data.csv"); // files must be in the data folder

for (int i = 0; i<lines.length; i++) {
ship_arraylist.add(new Ship(lines[i]));
}// end for loop
}// end loadData

class Ship {
int Alive=0;//1=Alive 0=Dead

Ship(String line) {
String[] parts = line.split(",");
Alive = int(parts[1]);
}
}

然后我有一个 mouseClicked 函数,这样如果一艘船被点击,则 Alive 设置为 0 ,可能应该使用 boolean 值,但这只是 atm 正在进行的一项重大工作,我之前尝试过 .setVariableName() 和它给出了

"setVariableName(int)" does not exist

非常感谢您的帮助!!

最佳答案

假设您有一门这样的类(class):

class MyClass{
int x = 0;
}

您可以像这样创建 MyClass 的实例:

MyClass mc = new MyClass();

您可以在该实例中设置 x 变量,如下所示:

mc.x = 42;

类似地,我们可以创建一个 ArrayList 并向其中添加一个 MyClass 实例:

ArrayList<MyClass> mcList = new ArrayList<MyClass>();
mcList.add(new MyClass());

现在,要在 ArrayList 中的特定索引处设置 MyClass 实例的 x 变量,您可以将其视为两步:

MyClass mc = mcList.get(0); //get the MyClass instance
mc.x = 42; //set the x variable

您可以将其缩短为一行:

mcList.get(0).x = 42;

关于java - 更改 arraylist 内的 class 内的整数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40722668/

25 4 0