渡されたパラメータ名、つまり実行時に渡された名前を取得するにはどうすればよいですか?例えばjavaで渡されたパラメータ名を取得していますか?
:
int mParam = 10;
public void func (int myParam){
//print wanted name
}
func(mParam);
募集出力:リフレクションを使用して
mParam
、私は得ることができた:
myParam
渡されたパラメータ名、つまり実行時に渡された名前を取得するにはどうすればよいですか?例えばjavaで渡されたパラメータ名を取得していますか?
:
int mParam = 10;
public void func (int myParam){
//print wanted name
}
func(mParam);
募集出力:リフレクションを使用して
mParam
、私は得ることができた:
myParam
私はそれがJavaで可能ではないと思います。 javaはパラメータを渡すために値渡しを使用するためです。したがって、パラメータをfunc()に渡すと、変数の値だけが渡されます。
あなたがこの質問 Can I obtain method parameter name using Java reflection?
をチェックアウトすることができます呼び出し関数のパラメータの詳細を知りたいjava.Ifでreflect.parameterパッケージを使用する関数で定義されたパラメータについて知ることが可能である。しかし、あなた渡されるパラメーターの名前を知ることはできません。パラメータとして地図を渡すために、より良いまだ
public void func (int myParam, String myParamName){
//print wanted name
}
または::
次のような2つのparamsを受け取るためにあなたの方法funcを変更することができます
public void func (Map<String, Integer> map){
//print wanted name
}
名前付き整数を渡すことができますこの方法とあなたのメソッドの名前で整数を取得してください。
Java 8ソリューションの重複した質問をスクロールダウンしてください。 – rgettman
@rgettman私は、OPがパラメータ名を望んでいるとは思わない、私は彼らが*フィールド*名前(パラメータとして渡されることになる)が欲しいと思う。それは完全にはっきりしていない。その例では、指定された出力はパラメータ名ではないことに注意してください。 –
@PaulBoddingtonはい、それは明らかではありませんでした。しかし、希望の出力は "myParam"ではなく "mParam"なので、私はそれをun-dupします。 (すでに騙されていません) – rgettman