gpt4 book ai didi

java - java中遍历对象

转载 作者:太空宇宙 更新时间:2023-11-04 08:16:27 25 4
gpt4 key购买 nike

我有一个返回类对象的方法。该对象设置类的属性并返回。
我必须遍历该对象并获取该对象之前设置的属性值。

我尝试使用for-each循环、迭代器但未能遍历。

有人可以帮我解决这个问题吗?提前致谢。

代码:

public class ConsumerTool {

public MessageBean getMessages() {
MessageBean msgBean = new MessageBean();

msgBean.setAtmId(atmId.trim());
msgBean.setEventText(eventText.trim());
msgBean.setEventNumber(eventNumber.trim());
msgBean.setSeverity(severity.trim());
msgBean.setSubsystemID(subsystemID.trim());
msgBean.setUniqueEventID(uniqueEventID.trim());
msgBean.setTaskID(taskID.trim());
msgBean.setGenerator(generator.trim());
msgBean.setGeneratorBuildVsn(generatorBuildVsn.trim());
msgBean.setDateTime(dateTime.trim());

this.msgBean = msgBean;
return msgBean;
}
}

JavaBean 类:

public class MessageBean implements java.io.Serializable {  

public String dateTime;
public String severity;
public String eventText;
public String eventNumber;
public String generator;
public String generatorBuildVsn;
public String atmId;
public String uniqueEventID;
public String subsystemID;
public String taskID;

//System.out.println("dateTime2222222"+dateTime);

public String getAtmId() {
return this.atmId;
}

public void setAtmId(String n) {
this.atmId = n;
}

public String getDateTime() {
return this.dateTime;
}

public void setDateTime(String n) {
this.dateTime = n.trim();
}

public String getEventNumber() {
return this.eventNumber;
}

public void setEventNumber(String n) {
this.eventNumber = n;
}

public String getEventText() {
return this.eventText;
}

public void setEventText(String n) {
this.eventText = n;
}

public String getGenerator() {
return this.generator;
}

public void setGenerator(String n) {
this.generator = n;
}

public String getGeneratorBuildVsn() {
return this.generatorBuildVsn;
}

public void setGeneratorBuildVsn(String n) {
this.generatorBuildVsn = n;
}

public String getSeverity() {
return this.severity;
}

public void setSeverity(String n) {
this.severity = n;
}

public String getSubsystemID() {
return this.subsystemID;
}

public void setSubsystemID(String n) {
this.subsystemID = n;
}

public String getTaskID() {
return this.taskID;
}

public void setTaskID(String n) {
this.taskID = n;
}

public String getUniqueEventID() {
return this.uniqueEventID;
}

public void setUniqueEventID(String n) {
this.uniqueEventID = n;
}


}

主题是对象设置 javabean 类的属性,我必须从 UI 获取这些值。

在Jsp中

<%
MessageBean consumer = msg.getMessages();

//Now here i want to iterate that consumer object
%>

最佳答案

由于 MessagesBean 似乎符合 javabeans specification ,你可以只使用 java.beans.Introspector为此。

MessageBean messageBean = consumerTool.getMessages();
// ...

BeanInfo beanInfo = Introspector.getBeanInfo(MessageBean.class);

for (PropertyDescriptor property : beanInfo.getPropertyDescriptors()) {
String name = property.getName();
Object value = property.getReadMethod().invoke(messageBean);
System.out.println(name + "=" + value);
}

这一切都在幕后使用 reflection API .

<小时/>

更新您的编辑表明您打算使用它来在 JSP 中呈现数据。这确实不是正确的方法。硬着头皮分别指定每个属性。这样您就可以完全控制排序。

关于java - java中遍历对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10327411/

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