1

次のようにメソッドを宣言する必要があります。

public void doSomething(Class class) {
...
}

もちろん、classパラメーター名は予約済みのキーワードであるため無効です。ただし、C# では、@文字をプレフィックスとして使用して回避できます。を使用すると、@それを「解決」できるだけでなく、コンパイル時に、「バイトコード」(IL) レベルで名前から@文字が削除されます。

Javaで似たようなものはありますか? 私が見つけたのは_とだけ$でした。ドル記号は、それらすべての中で最も醜いものです。


後で編集:私はそのことを知っていclazzましたが、もっと良いものを期待して、それについては言及しませんでした. それが最高ならそれでいい。ただし、すべての予約済みキーワードの対応表はありますか? 次の行に沿ったもの:

クラス -> クラス、クラス

スイッチ -> スイッチ、svvitch ...


後で編集 2 : 正当な、私見ですが、質問がどれだけ多くの皮肉なコメントや役に立たない入力を生成できるかは驚くべきことです。頼んだことをほとんど後悔しています。


後で編集 3 : Java の世界では、黙って何も聞かないことが最善の方法のようです。誰にも迷惑をかけず、誰も特定の質問をしたり答えなかったりした場合でも、黙って話さないでください。

4

5 に答える 5

3

いいえ、仕方がありません。キーワードは予約されており、使用できません。私の意見では、(C# のような) 奇妙なプレフィックスでエスケープすることは適切な解決策ではありません。

特殊なケースではtypeorを使用できます。clazz

于 2013-11-13T09:56:01.177 に答える