2011-12-17 8 views
0

開示:私はJavaを初めて使用しましたfield.getおよびオブジェクトインスタンス名

サードパーティのパッケージからオブジェクトのフィールドにアクセスする必要があります。私はヒープダンプでオブジェクトを見つけましたが、外部参照可能なオブジェクトの名前を見つけることができません。ヒープ・ダンプで「select x from classname x」というOQL問合せを実行すると、クラス名#1が取得されます。残念ながら、field.getは引数としてclassname#1を好きではありません.netbeansは私に不正な文字\ 35エラーを与えます。

field.getが受け入れるこのインスタンスのオブジェクト名を取得する方法に関するヒントはありますか?

編集:これはサードパーティプログラムの拡張アプリケーションです。それが実行されている間、サードパーティのプログラムから情報を引き出す必要があります。

edit2:hereはヒープダンプのスクリーンショットです。緑色の矢印が指しているもののオブジェクト名を取得する方法を知る必要があります。

+3

Javaを使い慣れていない場合は、オープンなサードパーティオブジェクトをリッピングしてプライベートフィールドにアクセスするのは、一般的には正しい方法ではありません。あなたの究極の目標は何ですか?おそらく簡単な方法があります! –

+0

私はサードパーティ製のプログラム用の拡張アプリケーションを書いているので、スタンドアロンアプリケーションを最初から書くのではありません。 – Karnisov

答えて

1

あなたがしようとしていることを正確に知らなければ、EclipseのようなJava IDEがOQLよりも探しているものを提供してくれるだろうと推測しています。

あなたの必要性はOQL内での作業に限定されていますか?または今後の開発で使用するための詳細を見つけるためにOQLを使用しようとしていますか?

後で、他のコードでクラス/メソッド/変数を参照しようとしている場合は、インターフェイスしようとしている他のコードのJARファイルまたは* .classファイルがあると仮定しています。この他のコード(オリジナルのソースがないバイトコード形式でも)をプロジェクトへの参照として追加すると、ほとんどのIDE(Eclipseを含む)は利用可能なすべてのクラス、メソッド、インスタンス変数の概要を表示します。難読化は使用されていませんでした。

関連する問題