2016-11-14 23 views
2

私はデバッグセッション中にSet<String>変数を初期化しようとしています。だから私は変更する変数を右クリックし、「変更オブジェクトの値」ウィンドウに次の式を入力しますeclipseでデバッグ中にHashSet変数を初期化する方法は?

new HashSet<String>(Arrays.asList(new String[]{"a", "b"})); 

Eclipseは、次のエラーが返されます。

HashSet cannot be resolved to a type 
Arrays cannot be resolved 

は、初期化する方法はありますEclipseのデバッグセッション中のコレクション?

+1

明示的に配列を作成する必要はないことに注意してください。 'Arrays.asList(" a "、" b ")'は同じ働きをします。 –

答えて

2

あなたがインポートされていないクラス(現在のファイル内に対応するimportの文)を使用する場合は、あなたが彼らの完全修飾名でこれらのクラスを使用することができます。

new java.util.HashSet<String>(java.util.Arrays.asList(new String[]{"a", "b"})); 
0

これは動作します:

Set<String> yourSet = new HashSet<String>(Arrays.asList("a", "b")); 

そして、あなたの日食のエラーは、あなたがいるjava.utilやコレクションクラスをインポートする必要があります。あなたのクラスのどこかを右クリックし、 "source" >> "importsを整理する"をクリックしてください。

2

より柔軟なソリューションですエクリプスのDebug PerspectiveDisplayビューを使用すること:

はそれを入力します。

その後
yourSet = new java.util.HashSet<String>(); 
yourSet.addAll(java.util.Arrays.asList("a", "b")); 

、目を選択右クリックしてexecuteオプションを選択します。

ここ

スクリーンショットと例:

Display View in Eclipse

Displayビューの利点は、あなたがデバッグしている変数にしたいとあなたが(例えば、あなたのSetremove()add())など多くの操作を呼び出すことができますです。
Variablesビューで同じことを実行することはできません。Change Object Valueオプションでは、指定された値のみを変数に割り当てることができます。

その他の利点Displayビュー:クラスにコードを書き込むときに自然な方法で実行するコードを記述します。
Displayビューを検出した後、私はもうChange Object Valueオプションを使用しませんでした。

関連する問題