3

値を取得できるように Java ファイルを編集するように依頼されました。値の名前は重要ではありませんが、SiteCategory でした。

Eclipse の助けを借りて、探していたものに似たメソッドを見つけることができました。

次に、これらの 7 つの行を作成して、探していたものが返されるかどうかを確認しました。

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) クラス com.webservices.lists.farming.SiteCategoryList

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

4) >P align=左>

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

6) 製品 : その他 : ボトル

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

番号6はまさに私が探していたものでした。最終的にこの時点に到達し、正しい構文を理解するのに時間がかかりました。なじみのない API でこれを行うように求められた場合、正しい構文を理解するために何をしたでしょうか?

4

3 に答える 3

7

私はあなたが探していたのと同じものを探します。ただし、通常、Sys-Out は使用しません。代わりに、そこにブレークポイントを追加し、デバッガーでポイントまで実行します。次に、「検査」を使用して、何が返されるかを確認します。

于 2013-03-12T20:46:01.870 に答える
3

をインポートするコードを調べてから、SiteCategoryjavadoc のドキュメントがsome.package.name.SiteCategory.

実際、なんらかの javadoc や実際のソース コードがなければ、メソッド名が「十分に」説明的であることを期待するしかありません。

したがって、ファイルには、上記のクラスのクラスまたはインターフェース定義、SiteCategoryまたは「インポート」ブロックのいずれかが表示されます。

 import org.myorg.site.SiteCategory;

そうしないと、実際にはパッケージ宣言と同じパッケージ内にあります (ファイル内の最初の非コメント行、非空白行)。そう

 package com.mypackage.here;

com.mypackage.here.SiteCategoryこれは、「.java」ファイル内の import ステートメントまたは定義の失敗を意味します。

次に、ソース コードが入手できるかどうかに応じて、ソース コードを開くか、入手できない場合は、公開されている javadoc ドキュメントを探します。

于 2013-03-12T20:46:46.287 に答える
1

親オブジェクトへの参照がある行にブレークポイントを設定し、デバッグ モードでアプリを起動し、プログラムがブレークポイントで停止したら、オブジェクトを調べます。必要な値を取得する方法をすぐに理解できます。

すべての IDE で、オブジェクトとそのフィールド (getter かどうか) を調べることができます。

デバッグするコードを書かないでください: Java の組み込みのデバッグ機能を使用してください。

于 2013-03-12T21:09:48.803 に答える