我有一个名为say,“mylist”的java对象的ArrayList。 我从数据库中获取列表(mylist)的名称,它以String形式出现。我需要在JAVA中找到这个列表的大小,并且需要遍历它。查找ArrayList的大小,其中列表名称作为字符串传递
有没有办法做到这一点?
编辑: 更清楚在这里,我有一个类“候选”
class Candidate {
String firstName;
String lastName;
List<Education>educationRecords;
.....
}
class Education {
String school;
String degree;
.....
}
我需要从一个JSONObject其结构是从候选对象非常不同的(所以不能用填充候选对象吉森或杰克逊)。
像名字,姓氏,学校和学位简单的字段存储在数据库中。
我去取Listfields并在它们之间迭代设置候选对象。为了设置firstName,lastName,我使用SpEL。
但是,对于像学校和学位领域,它变得复杂,因为我需要知道的JSONObject的教育记录的大小。
所以,如果学校领域是存在于教育类(使用反射)迭代所有领域,我想是什么,我需要检查是否educationRecords是候选人类的List类型,然后通过一些逻辑X(以educationRecords作为变量名)迭代它。
这是我错过的逻辑“X”。
1.你的要求很不明确,你需要包括更多关于你的情况的具体细节。 2.我的第一个想法是,你可能没有采取最好的方法,无论如何,从根本上说,这是一件很奇怪的事情。你可能想坐下来重新思考你的总体设计。 3.如果你按照你现在这样做的方式被锁定,请查看[关于反射的官方教程](https://docs.oracle.com/javase/tutorial/reflect/)。它有其局限性,但可能对您有所帮助。你也可以用switch语句来破解它。 –
我不确定我的理解 - 你有一个'ArrayList',你想找到它的大小,即元素的数量?你为什么不使用'mylist.size()'? –
@TomášM。问题如问:OP有名称的ArrayList变量。 OP从数据库中获取一个字符串。 OP然后想要访问其变量名称等于检索到的字符串的ArrayList。但没有足够的上下文来正确回答。也许是一个Map或一个大开关块,或反射或重新设计。 –