で最も簡潔な方法で入力パラメータの値を検証foo
がnull
の場合のメッセージです。のは、このような検証メソッドの呼び出しを想像してみましょうJavaの
実行時にJavaで引数の名前を渡さないように、指定された値の名前を取得し、メソッド呼び出しを次の例のようにすることはできますか?
validate(foo);
で最も簡潔な方法で入力パラメータの値を検証foo
がnull
の場合のメッセージです。のは、このような検証メソッドの呼び出しを想像してみましょうJavaの
実行時にJavaで引数の名前を渡さないように、指定された値の名前を取得し、メソッド呼び出しを次の例のようにすることはできますか?
validate(foo);
更新
私はあなたではなくメソッドで受信しparameter
の名前よりも、そのmethod
に渡されたargument
の名前を探している質問から想定しています。
object
が渡された場合、null
となる可能性がありますので、argument
の場合、メソッドに送信される情報はありません。
参照変数は、アドレスを実際のObject
に指定する名前に過ぎません。私はargument
の名前については、JVM
は気にしません。
methodName(new Object())
のようにObject
を送信する時間があります。このシナリオではargument
という名前はありませんが、methodName
にはObject
のアドレスだけが渡されます。
以下のコードは、お客様の要件を満たすためのいくつかの選択肢を示しています。
あなたの質問に記載されたソリューションは、特にNullPointerException
public class TestDriveException {
public static void main(String[] args) {
MyItem myItem = null;
validate(myItem);
}
public static void validate(MyItem myItem) {
if (myItem == null) {
throw new MyArgumentException("myItem is null");
}
}
private class MyItem {
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
private static class MyArgumentException extends NullPointerException {
public MyArgumentException(String s) {
super(s);
}
}
}
のためにこのような何かを行うことができ、または私はのように引数について確認していない、Google
によって開発されたライブラリによって、いくつかの方法で、使用に実際にありますObject
のアドレスを保持する名前です。 Object
から渡される情報の種類は、non null
でなければなりません。
あなたが質問に示唆されている他の事は、同様
public static void validate(MyItem myItem, String argumentValue) {
if (myItem == null) {
throw new MyArgumentException(argumentValue+" is null");
}
}
ハズレを使用することができます。いずれにしても、引数名は必ずしもコンパイルプロセスを助けるものではありません –
あなたの質問に記載されている解決策は、実際には 'Google 'によって開発されたライブラリ、特に' NullPointerException' –