gpt4 book ai didi

java - 从 LinkedQueue 获取类对象数据

转载 作者:行者123 更新时间:2023-12-02 12:05:20 26 4
gpt4 key购买 nike

首先,我想说这是我在这里发表的第一篇文章,所以如果我做错了什么,请告诉我。

我有一个名为 EmployeeRecord 的类:

void setEmployeeRecord(int empNo, String firstName, String lastName, int age) {
this.setEmpNo(empNo);
this.setFirstName(firstName);
this.setLastName(lastName);
this.setAge(age);
}

我还有带有基本set/get Node next/Object element的Node类,带有isEmpty()、插入、删除、getTail、大小和搜索的LinkedQueue类 .

在我的 GUI 中,我有 4 个文本字段,其中包含员工 ID、名字、姓氏和年龄。

当我按插入键时,我想将这些值添加到

EmployeeRecord er = new EmployeeRecord(); -> er.setEmployeeRecord(num, fN, lN,agei);

然后我想将它们添加到我的 LinkedQueue - lq.append(er);

我遇到的问题是当我想将存储在 LinkedQueue 中的信息显示到 TextArea 中时。我找不到从中获取“实际”数据的方法,目前我有这样的东西:

 textArea.setText(lq.Search()); 

->

//This is the LinkedQueue class
public String Search() {
String msg = "";
Node currentNode = this.head;
while (currentNode != null) {
msg += (currentNode.getElement().toString() + "\n");
currentNode = currentNode.getNext();
}

return msg;
}

我得到的输出是:appletviewer.EmployeeRecord@2e1a6955

如何获得使用 ArrayList 可以轻松获得的实际输出?

(我无法使用ArrayList!)

最佳答案

您必须重写EmployeeRecord中的toString()方法。

您在队列中保存了 EmployeeRecord 对象。打印元素时,会调用对象的 toString() 函数。如果您不覆盖它,则使用默认值并打印对象的标识符。

尝试这样的事情:

@Override
public String toString() {
return "EmpNo: " + empNo + "\nFirstName: "+ firstName + "\nLastName: " + lastName + "\nAge: "+age;
}

关于java - 从 LinkedQueue 获取类对象数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46941259/

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