-2

こんにちは、私は Java 1.4 を使用しており、これを実装したいと思っています。

// protected HashMap            droppedFileTarget;
JExpression[] params = new JExpression[2];

for (String extension   : droppedFileTarget.keySet()) {
  String  field = droppedFileTarget.get(extension);  

  params[1]=VKUtils.toExpression(ref, extension);
  params[2]=VKUtils.toExpression(ref, field);
}                               

しかし、私はこのコンパイルエラーが発生しています:

type mismatch : can not convert from Object to String

型キャストの後でもエラーは解決しません:

   for (String extension   : (String) droppedFileTarget.keySet())
4

2 に答える 2

1

2 番目の例では、キーセット全体を String にキャストしようとしていますが、これはいくつかの理由で間違っています。ジェネリックを使用しないと主張する場合は、代わりに各要素を として取得し、Objectそれを にキャストしStringます。

Iterator i = droppedFileTarget.entrySet().iterator();

while (i.hasNext()) {
  Map.Entry entry = i.next();
  String extension = (String)entry.getValue();
  String  field = droppedFileTarget.get(extension);  

  params[1]=VKUtils.toExpression(ref, extension);
  params[2]=VKUtils.toExpression(ref, field);
}
于 2013-09-19T21:38:42.753 に答える
1

keySet を にキャストする必要がありますSet<String>

于 2013-09-19T10:29:02.127 に答える