【问题标题】:Access Data from any object [closed]从任何对象访问数据[关闭]
【发布时间】:2015-11-23 03:57:17
【问题描述】:

我有一个带有 4 个键的 Object1(pojo 类) 另一个 Object2 有 7 个键现在我想在循环中读取 List 中的每个值以及 List<Object2>

是否有任何实用程序可用于这种迭代

提前谢谢....

【问题讨论】:

标签: java list iteration


【解决方案1】:

您需要使用reflection

import java.lang.reflect.*;

class MyObject {
  String x = "hello";
  int y = 42;
  String z = "world";
}

public class Test {
  public static void main(String[] args) throws Exception {
    MyObject obj = new MyObject();
    for (Field f : obj.getClass().getDeclaredFields()) {
      System.out.println(f.getName() + ": " + f.get(obj));
    }
  }
}

打印:

x: hello
y: 42
z: world

现在,这行得通,但反射通常比访问字段要慢得多。因此,除非您需要您的代码是通用的并且可以处理任意对象,否则您最好手动访问这些字段。

【讨论】:

  • 对模糊问题的模糊回答。
  • 如何使用反射你能给我举个例子吗。
  • 我们不能访问私有变量
  • 是的,但您需要做更多的工作。寻找setAccessible()
  • 在极少数情况下,您需要重新设计而不是使用反射。
猜你喜欢
  • 2022-09-29
  • 1970-01-01
  • 2023-02-25
  • 2021-11-27
  • 2019-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-05
相关资源
最近更新 更多