1

JMeterでBeanShellを使用しています。BeanShellは、ジェネリックスをサポートしないJavaインタープリターです。山かっこ(「<」など)を入力するとすぐに、スクリプトは拒否されます。

ジェネリックを使用できるとしたら、次のようにします。

for ( Map.Entry<String,Object> entry : vars.entrySet() ) {
    System.out.println( "  key = " + entry.getKey() );
}

Map.Entry<String,Object>ただし、スクリプトで宣言することが許可されていないため、変数エントリを作成できません。

だから-私のメソッドentrySet()とそれが返すタイプを考えるSet<Map.Entry<String,Object>>と、ジェネリックタイプを明示的に参照せずにこのセットのキーのリストを取得(または反復)できる方法はありますか?

例:次のようなもの

for ( String keys : vars.entrySet().somethingMagic() ) {
    System.out.println( "  key = " + key );
}
4

4 に答える 4

7

次のいずれかを試してください。

for ( Map.Entry entry : vars.entrySet() ) {
    System.out.println( "  key = " + entry.getKey() );
}

または:

for ( String keys : vars.keySet()) {
    System.out.println( "  key = " + key );
}
于 2013-01-15T15:16:47.530 に答える
3

varsがマップであると仮定すると、を呼び出すことができますvars.keySet()

于 2013-01-15T15:14:01.397 に答える
1

ジェネリックスなしで元のコードを使用するだけです。

for ( Map.Entry entry : vars.entrySet() ) {
    System.out.println( "  key = " + entry.getKey() );
}

おそらく警告が表示されますが、それでも機能するはずです

于 2013-01-15T15:17:43.613 に答える
0

外部ファイルでjsr223+groovyを使用します。これは次の場合に適しています:

  • パフォーマンス

  • 最新であること(JAVA 6構文を使用できます)

..。

今後の2.9では、テキスト領域に配置することでキャッシュを利用できるようになります。

于 2013-01-15T15:24:55.337 に答える