1

文字列を受け取り、その文字列をオブジェクトの変数として使用してオブジェクトを作成するメソッドを実行しようとしています。

public void createObj(String objName){
    Obj objName = new Obj();
}

これも可能ですか?もしそうなら、どうすればそれを達成できますか?

4

4 に答える 4

0

Javaでは、式を使用して変数に名前を付けることはできません。あなたが得ることができる最も近いものは、名前でインスタンスMap<String, Obj>を検索するために使用できるを設定することだと思います。Obj

public void createObj(String objName, Map<String, Obj> symbolTable){
    symbolTable.put(objName, new Obj());
}
于 2013-03-24T15:55:54.710 に答える
0

いいえ、できません。すべてのローカル変数を異なる名前で宣言します。

クラスとそのメンバーは定義されてからバイトコードにコンパイルされるため、実行時に動的に変更することはできません。

public void createObj(String objName){
    Obj objectName = new Obj();
}
于 2013-03-24T15:56:00.733 に答える
0

一言で言えば、いいえ、これはできません。実行時に名前付きローカル変数を作成することはできません。

名前をオブジェクトに関連付けたい場合は、を使用できますMap<String,Object>

于 2013-03-24T15:56:26.580 に答える
0

いいえ、単純な理由でそれを行うことはできません。コンパイラーは区別できないため、同じ名前の2つのローカル変数を持つことはできません。

于 2013-03-24T16:26:02.130 に答える