如何更快地编写java代码

时间:2013-03-12 20:41:50

标签: java

我被要求编辑一个java文件,以便它检索一个值。值名称并不重要,但它是SiteCategory。

在Eclipse的帮助下,我能够找到看起来像我正在寻找的方法。

然后我创建了这七行,看看其中一行是否返回了我想要的内容。

System.out.println("1) " + p_objRecord.getSiteCategoryList().toString());
System.out.println("2) " + p_objRecord.getSiteCategoryList().getClass());
System.out.println("3) " + p_objRecord.getSiteCategoryList().getSiteCategory().toString());
System.out.println("4) " + p_objRecord.getSiteCategoryList().getSiteCategory(0).getCategoryDescription());
System.out.println("5) " + p_objRecord.getSiteCategoryList().getSiteCategory(0).toString());
System.out.println("6) " + p_objRecord.getSiteCategoryList().getSiteCategory(0).getCategory().getName());
System.out.println("7) " + p_objRecord.getSiteCategoryList().getSiteCategory(0).getCategory().toString());

这是输出

1)com.webservices.lists.farming.SiteCategoryList@47c7b1f5

2)class com.webservices.lists.farming.SiteCategoryList

3)[Lcom.webservices.lists.farming.SiteCategory; @ 105e924

4)> P align = left>

5)com.webservices.lists.farming.SiteCategory@ca143fc6

6)产品:杂项:瓶子

7)com.webservices.platform.core.RecordRef@78f8dcf1

6号正是我所寻找的。我花了一些时间才最终达到这一点并找出正确的语法。如果您被要求使用不熟悉的API执行此操作,您将如何找出正确的语法?

3 个答案:

答案 0 :(得分:7)

我会寻找你想要的东西。但是,我通常不会使用Sys-Out。相反,我会在那里添加一个断点,运行调试器。然后,使用“检查”来查看它返回的内容。

答案 1 :(得分:3)

我会查看导入SiteCategory的代码,然后查看是否可以在some.package.name.SiteCategory上找到javadoc文档。

真的,如果没有某种javadoc或实际的源代码,你就会非常希望方法名称的描述性“足够”。

因此,在文件中,您应该看到SiteCategory的类或接口定义或上述类的“import”块,看起来像

 import org.myorg.site.SiteCategory;

如果不这样做,那么它实际上与包声明在同一个包中(文件中的第一个非注释,非空白行)。所以

 package com.mypackage.here;

意味着com.mypackage.here.SiteCategory导致错误导入语句或'.java'文件中的定义。

然后根据源代码的可用性,我可能会打开源代码,或者如果它不可用,请查找一些已发布的javadoc文档。

答案 2 :(得分:1)

在具有对父对象引用的行上设置断点,在调试模式下启动应用程序,然后当程序在断点处暂停时,检查对象。你很快就会弄清楚如何获得你想要的价值。

所有IDE都允许您检查对象及其字段(是否为getter)。

不要编写代码来调试:使用java的内置调试功能。