如何在Java中读取变量结构?

时间:2016-06-14 21:34:25

标签: java class

我尝试从Java中的捆绑对象中提取相关信息。该对象具有以下结构:

String name;
Array setOfOrders;

setOfOrders中的每个元素都有

int orderID;
String orderName;
List<BuildingBlock> listOfBlocks;

每个BuildingBlock都有

String shortName;
String fullName;
String blockID;
Array<Element> elements;

我试着查看源代码,但分支似乎无穷无尽。我尝试在NetBeans中使用调试模式,但每个第三个变量(setOfOrders,listOfBlocks,elements)都在不断扩展。这感觉就像试图找到哪些文件夹占用磁盘空间。使用资源管理器需要永远,而一些磁盘分析器显示空间使用的清晰地图。

那么,分析捆绑变量的最佳方法是什么?我应该完全扩展它并搜索可识别的数据结构吗?是否有命令(我不能要求工具,但我可以要求IDE命令,对吗?)来表示变量的结构?我应该依赖吸气剂和制定者吗?

4 个答案:

答案 0 :(得分:2)

不确定你要做什么。如果要在运行时分析数据,唯一的方法是“我是否应该在调试模式下完全展开它并搜索可识别的数据结构”。

或者只是为循环编写一些代码,例如两个,循环遍历元素并将数据记录到system.out。然后你可以在字符串里面搜索。

答案 1 :(得分:2)

您最好的选择(按降序排序)是:
(a)希望作者发表好评 (b)阅读源代码(如果某些类被编译成.class或.java,则遇到麻烦) (c)全部扩大*

  • 您可以通过设置for(i=0; i<2; i++){而不是i<100000来减小结构的大小。但是,如果此捆绑包是从SQL响应创建的,那么您可能会运气不好。

答案 2 :(得分:1)

首先,您可以尝试实施toString() - 方法(如果尚未实施)。也许你可以通过打印结构或部分来获得一些有用的信息。

其次,如果您有这样的结构,您可能还有一些方法来查询数据结构。您可以使用它们来查询所需的信息。或者,如果不存在这样的方法,您可以编写它们,因为它们可能不仅需要进行调试,而且对您的应用程序也很有用。

答案 3 :(得分:1)

您有多种选择,每种选择都有自己的优点和缺点。

你可以实现toString方法,但是它失败了你的目的,因为要写它你需要知道一个变量的结构。

您可以使用反射,但这是一项专有功能,可能会在将来的版本中消失。

大型项目通常有几个巨大的全局变量(如session,可能存储与此会话相关的所有内容)和数十个局部变量。局部变量的结构很简单。由于只有少数全局变量,因此您应该向团队负责人询问其结构。