java - 查找 ArrayList 的大小,其中列表名称作为字符串传递

标签 java arraylist spring-el

我有一个名为“mylist”的 java 对象的 ArrayList。 我从数据库中获取列表(mylist)的名称,该名称以字符串形式出现。我需要在 JAVA 中找到这个列表的大小,并需要对其进行迭代。

有办法做到这一点吗?

编辑: 在这里更清楚地说,我有一个“Candidate”类

class Candidate {

    String firstName;
    String lastName;
    List<Education>educationRecords;
    .....
}

class Education {

    String school;
    String degree;
    .....
}

我需要从结构与 Candidate 对象非常不同的 JSONObject 填充 Candidate 对象(因此不能使用 Gson 或 jackson)。

诸如名字、姓氏、学校和学位等简单字段存储在数据库中。

我获取一个 Listfields 并迭代它们以设置 Candidate 对象。为了设置firstName、lastName,我使用SpEL。

但是,对于学校和学位等字段,它会变得复杂,因为我需要知道 JSONObject 中教育记录的大小。

所以,我的想法是,在迭代所有字段时,如果 Education 类中存在 school 字段(使用反射),我需要检查 educationRecords 是否是 Candidate 类中的 List 类型,然后通过某种逻辑 X(取educationRecords 作为变量名)对其进行迭代。

这是我缺少的逻辑“X”。

最佳答案

我不太明白这里的用例。然而,我的理解是你有一个 ArrayList<Object> mylist并且您需要根据从数据库检索到的字符串找到它的大小。

您可以将列表存储在缓存中,其中键是列表的名称,值是实际对象。您可以使用 redis、eh-cache 或 memcache(或类似的任何东西)来实现相同的目的。

因此,当您从数据库检索名称时,从缓存中获取相应的对象,并在类型转换后对该对象执行 size() 操作。如果您在缓存中存储列表类型而不是对象类型,则不需要最后一部分(类型转换)。

关于java - 查找 ArrayList 的大小,其中列表名称作为字符串传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39961446/

相关文章:

spring - 在 Spring Boot 中的 application.properties 中获取用户主路径

java - 如何向数组中随机插入String数字-Java

java - GridBagLayout 一半组件不可见

java - 如何在Spring中使用@repository的构造函数?

java - 交换 ArrayList 中的两个对象

java - ID生成方法陷入循环

java - 无法从 servlet 上下文中检索 hibernate 外键

java - Android 中的过滤数组

java - Spring表达式语言: @Bean cannot find itself

spring - 使用常量解析属性时如何在 @Value 中使用 Spring-EL