Ich finde mich oft Code wie folgt schreiben:Howto erhalten den Java-Compiler einen Variablennamen in einen String einzufügen
throwExceptionWhenEmpty(fileType, "fileType");
throwExceptionWhenEmpty(channel, "channel");
throwExceptionWhenEmpty(url, "url");
Die throwExceptionWhenEmpty
Methode macht etwas wie folgt aus:
private void throwExceptionWhenEmpty(final String var, final String varName) {
if (var == null || var.isEmpty()) {
throw new RuntimeException("Parameter " + varName + " may not be null or empty.");
}
}
Ich würde Ich möchte diese offensichtliche Redundanz vermeiden, indem ich den Variablennamen als String übergebe. Gibt es eine Möglichkeit, wie der Java-Compiler den Variablennamen in die Zeichenfolge für mich einfügen kann?
ich glücklich sein würde, wenn ich so etwas schreiben könnte:
throwExceptionWhenEmpty(fileType, nameOf(fileType));
-1 - empfehle keine Präprozessoren für diese Art von Sache. Es ist nicht der Java-Weg. (Ich würde nicht einmal den Präprozessor missbrauchen, um solche Sachen in C zu machen !!) –
Sie haben absolut Recht, ich habe das zu meiner Antwort hinzugefügt. Ich habe die Preprozessor-Anweisung nicht gelöscht, da sie sein Problem lösen würde. –