0

実行時にオブジェクトの名前を作成できません。私の声明は次のとおりです。

Map<String,String>  objectName+""+lineNumber = new HashMap<String,String>();

コンパイル時エラーが発生します。HashMap行番号に応じて実行時にオブジェクトを作成したい。

4

3 に答える 3

1

Javaはインタプリタではなく、コンパイルされた言語です。したがって、コンパイラはこれを処理する方法を知りません。このようなことは、スクリプト言語では意味があるかもしれません。

「変数」のカスタム名が必要な場合は、次のような構成が意味をなす可能性があります。

Map<String,Map<String,String>> varMap = new HashMap<String,Map<String,String>>();
varMap.put(objectName+" "+lineNumber, new HashMap<String, String>());
于 2012-10-18T07:00:52.427 に答える
0

これをJavaで直接行うことはできません(主要なトリックなしで)

あなたができること(そしておそらくすべきこと):

'variable'名をキーとする別のマップにマップを配置します。

あなたが本当にそれをしたいのなら、あなたはコード生成をしなければなりません。この場合も、複数のオプションがあります。

  • Javaソースコードを生成してコンパイルします

  • その場でJavaバイトコードを生成します。利用可能なライブラリについては、 http: //java-source.net/open-source/bytecode-librariesのリストを参照してください。

于 2012-10-18T06:57:49.137 に答える
-1

動的なオブジェクト名を持つことは役に立ちません。

まず、参照に動的な名前を付けることはできません。より大きな問題は、なぜそれをやりたいのかということです。

学習と実験のためだけに、適切な演習に従うことをお勧めします。

ただし、プロジェクトの要件を達成しようとしている場合は、Pls. 要件を説明します。それを達成するための他の方法があります。

于 2012-10-18T06:52:43.477 に答える