gpt4 book ai didi

java - 对象和数组列表

转载 作者:行者123 更新时间:2023-12-01 19:06:52 26 4
gpt4 key购买 nike

因此,我不会描述我已经尝试过的内容,而是简单地列出我正在尝试做的事情,因为到目前为止,每种方法都让我失败了,而且我确信我缺少的是一些简单的东西。

我需要做的是创建一个对象数组。是保存对象的数组列表,还是保存对象的对象数组我不关心。

我必须制作一个银行程序,我有 8 个数据字段,每组数据组成一个帐户,从而组成一个对象。我首先将所有 8 个数据字段添加到一个对象中,然后将该对象添加到数组列表或对象数组中。

我的问题是当我尝试记忆某个特定帐户时。假设我调用数组列表或对象数组,当我尝试调用其中任何一个中的原始对象时,它们是空的或不兼容的。就好像数据刚刚被混在一起一样。

这是我需要帮助解释的一些代码。

static ArrayList AccountList = new ArrayList();
static Object[] User = new Object[8];

我将数据添加到 User 对象中

type = AddAccount.jComboBox1.getSelectedItem().toString();
User[0] = type;
number = AddAccount.jTextField1.getText();
User[1] = number;
owner = AddAccount.jTextField2.getText();
User[2] = owner;
date = AddAccount.jTextField3.getText();
User[3] = date;
balance = AddAccount.jTextField4.getText();
User[4] = balance;
fee = AddAccount.jTextField5.getText();
User[5] = fee;
rate = AddAccount.jTextField6.getText();
User[6] = rate;
minBalance = AddAccount.jTextField7.getText();
User[7] = minBalance;
AccountList.add(counter,User);
counter++;

当我想要数据时,我调用以下内容,int选择只是引用我想要的对象

 public static void displayData(int selection) {
int row = selection;
Object temp = AccountList.get(selection);
System.out.println(temp[0].toString); //<--WHY WONT THAT WORK?

}

任何帮助或替代方法表示赞赏。

最佳答案

我可以在此处记录您的一些问题:

  1. 您继续使用相同的Object[] ,在每次插入之前,您应该创建一个新的 Object[] - 否则您将覆盖现有数据。 [记住,ArrayList包含引用,如果修改其中的对象,则会在 ArrayList 中修改它也是如此。
  2. 您需要转换tempObject[] - 或者更好的是,声明 AccountListArrayList<Object[]>
  3. 全部完成后 - 应该是 toString() ,而不是toString [这是一种方法]

不相关,但对于可读性很重要:在java中,约定是变量以小写字符开头。阅读 accountList 可以帮助其他程序员理解而不是AccountList它是一个变量,而不是一个类。

此外,正如 @GuillaumePolet 提到的,您可能需要重新考虑设计,而不是使用 Object[] ,并将其存储在ArrayList中,您可以构建自己的类[MyBankAccount例如] 有 8 个字段,并且有 AccountList类型 ArrayList<MyBankAccount> 。您会发现这样更容易遵循逻辑并维护代码!

关于java - 对象和数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9706494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com