我有一个类似这样的方法:
public String getParamValue(@NotNull String param) {
.......
.......
.......
}即使在将@NotNull放在param前面之后,每当我调用getParamValue(null)时,它也不会抛出NPE。它照常进行,我是需要做其他事情,还是我用错了?谢谢。
我正在使用Java7和javax.validation.constraints.NotNull,如果它有任何帮助的话。
发布于 2014-08-14 17:00:43
这个注解本身不会做任何事情。这只是其他工具的一个标记,所以他们知道约束。检查它的工具是源代码分析器和验证工具。
发布于 2014-08-14 17:01:17
这不是notnull的担保,它更像是一个承诺。所以你可以做一个前置条件检查:
if (param == null) {
throw new PreconditionExc...发布于 2014-08-14 17:03:25
嗨,这个问题以前已经被问过了。总而言之,您需要执行以下操作:
注释的MVC命名空间配置:
JSR-303规范JAR: validation-api-1.0.0.GA.jar (看起来您已经有了)
规范的实现,比如Hibernate验证,这似乎是最常用的示例: hibernate-validator-4.1.0.Final.jar您也可以使用以下https://code.google.com/p/gwt-validation/和http://bval.apache.org/之一
在要验证的bean中,验证注释来自spec JAR或来自实现JAR (您已经这样做了)。
在您想要验证的处理程序中,用@Valid注释您想要验证的对象,然后在方法签名中包含一个BindingResult来捕获错误。
https://stackoverflow.com/questions/25303954
复制相似问题