当前位置: 首页 > 面试题库 >

我如何遍历班级成员?

丰佐
2023-03-14
问题内容

我正在使用Java版本的Google App Engine。

我想创建一个可以接收许多类型的对象作为参数的函数。我想打印出对象的成员变量。每个对象可能不同,并且该功能必须适用于所有对象。我必须使用反射吗?如果是这样,我需要编写哪种代码?

public class dataOrganization {
  private String name;
  private String contact;
  private PostalAddress address;

  public dataOrganization(){}
}

public int getObject(Object obj){
  // This function prints out the name of every 
  // member of the object, the type and the value
  // In this example, it would print out "name - String - null", 
  // "contact - String - null" and "address - PostalAddress - null"
}

我将如何编写函数getObject?


问题答案:

是的,您确实需要反思。它会像这样:

public int getObject(Object obj) {
    for (Field field : obj.getClass().getDeclaredFields()) {
        //field.setAccessible(true); // if you want to modify private fields
        System.out.println(field.getName()
                 + " - " + field.getType()
                 + " - " + field.get(obj));
    }
}

有关更多信息,请参见反射教程。



 类似资料:
  • 问题内容: 我有一个Map如下所示的bean: 这ftqSet适合以下数据结构: 在我的测试JSP文件中,我一直在尝试使用来访问数据 : 但是它没有输出${f.feedId}。为什么会这样呢?我将如何访问该结构的各个元素,以便创建一个漂亮的表? 问题答案: 的每次迭代中给出了一个实例,它反过来又和getValue()方法。这与在普通Java中进行操作类似。 例如 在的情况下, 的回报, ,所以你需

  • 问题内容: 我想遍历,对于所有具有特定值的键,我希望将它们添加到new 。我怎样才能做到这一点? 问题答案: 假设类型TreeMap : (键和值类型当然可以是任何类)

  • 问题内容: 不会按优先级顺序进行迭代。 这可以工作,但可以清空队列。 问题答案: 从Javadocs 方法中提供的Iterator 不能保证以任何特定顺序遍历PriorityQueue的元素。如果您需要有序遍历,请考虑使用。 可能还有其他等效的机制。

  • 问题内容: 我创建了这样的一系列用户- 我已经为此添加了对象,并且我想遍历该数组中的每个用户。我知道这在使用ng-repeat的视图中是可能的,但是我需要在控制器中做到这一点。我努力了 - 但是我没有得到任何结果。 问题答案: 届时用户可能尚未加载,因此您需要等待: 这是上面的文档:https : //www.firebase.com/docs/web/libraries/angular/guid

  • 我想在级别顺序遍历中打印出BST。但是我以这种奇怪的方式得到了输出。此外,我使用Java可视化工具来检查我的算法,没有线索,因为可视化工具没有说明多个实例。我在想,要么我的变量没有正确地添加到我的实例中,要么没有添加到

  • 二叉树的预序遍历是{8,5,9,7,1,12,4,11,3},其顺序是{9,5,1,7,12,8,4,3,11}。用它构造二叉树并执行级别顺序遍历。最后构造一个二叉搜索树(BST),从左到右依次获取在上述级别顺序遍历中出现的键值。这个BST的级别顺序遍历是什么?