throwExceptionWhenEmpty

throwExceptionWhenEmpty

我经常发现自己在编写这样的代码:

throwExceptionWhenEmpty(fileType, "fileType");
throwExceptionWhenEmpty(channel, "channel");
throwExceptionWhenEmpty(url, "url");
throwExceptionWhenEmpty方法执行以下操作:
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.");
    }
}

我想避免这种明显的冗余,将变量名作为字符串传递。 java编译器是否可以为我在字符串中插入变量名?

如果我能写这样的话,我会很高兴的:
throwExceptionWhenEmpty(fileType, nameOf(fileType));

最佳答案

不,Java在开始支持使字段(和方法)成为编程语言的第一等公民的闭包之前,不能这样做。

有关建议之一的概述,请参见http://docs.google.com/Doc?id=ddhp95vd_6hg3qhc,在其中您可以使用#field语法执行所需的操作。

关于java - 如何使Java编译器在字符串中插入变量名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2371559/

10-10 19:22