小编Ros*_*tel的帖子

手动调用Spring Annotation Validation

我正在使用Hibernate和Spring Annotations进行大量验证,如下所示:

public class Account {
    @NotEmpty(groups = {Step1.class, Step2.class})
    private String name;

    @NotNull(groups = {Step2.class})
    private Long accountNumber;

    public interface Step1{}
    public interface Step2{}
}
Run Code Online (Sandbox Code Playgroud)

然后在控制器中调用它:

public String saveAccount(@ModelAttribute @Validated({Account.Step1.class}) Account account, BindingResult result) {
   //some more code and stuff here
   return "";
}
Run Code Online (Sandbox Code Playgroud)

但我想基于控制器方法中的一些逻辑来决定使用的组.有没有办法手动调用验证?有点像result = account.validate(Account.Step1.class)

我知道创建自己的Validator类,但这是我想避免的,我宁愿只使用类变量本身的注释.

java validation spring hibernate spring-mvc

33
推荐指数
5
解决办法
4万
查看次数

三元运算符返回"true:false".为什么?

通过我们的项目,Coworker让我通过字符串"true:false"grep,我发现很多三元运算符返回显式的真或假.例如:

return this.state == Cursor.CLOSED ? true : false;
Run Code Online (Sandbox Code Playgroud)

不仅仅是在我们的项目中,而且有很多模块/库可以做到这一点.对我来说这似乎是多余的,因为作者可能只是这样写的:

return this.state == Cursor.CLOSED;
Run Code Online (Sandbox Code Playgroud)

它是针对Javascript中的一些陷阱的防御性编码吗?或者只是明确你要回来的东西?

javascript ternary-operator node.js

11
推荐指数
1
解决办法
4291
查看次数

Java类中的静态final BigDecimal

我有点不确定我是如何实现的,我希望得到一些反馈.

我有一个类,Metric,它需要在返回之前将一些数字乘以给定的百分比.它们返回BigDecimal,所以我创建了类变量BigDecimal来存储该百分比,然后在返回时将它们相乘.

public class Metric extends Model {
    private static final BigDecimal percentage = new BigDecimal("1.2");

    public BigDecimal getMetric() {
        return new BigDecimal(getValue()).multiply(percentage);
    }
}
Run Code Online (Sandbox Code Playgroud)

静态决赛是否存在任何问题并立即用新声明宣布?此外,我试图研究BigDecimal是否是线程安全的,我找不到一个肯定的答案.对此的反馈将不胜感激.

java

2
推荐指数
1
解决办法
1654
查看次数

比较自我指派的指针

我试图在一个名为Set的简单C++类上重载=运算符,该类包含一个动态的int数组.对于=运算符,我首先要检查自我赋值,所以我想比较2个指针以查看它们是否具有相同的内存地址.这是代码:

Set& Set::operator=(const Set& setEqual)
{
//first check for self assignment
if(setEqual == this*)
    cout << "this is self assignment";
}
Run Code Online (Sandbox Code Playgroud)

出错的错误是 error: expected primary-expression before ')' token

我相信我再次对指针产生了误解,所以如果有人能指出(哈!)我朝着正确的方向发展,我会很感激.

c++ pointers

1
推荐指数
1
解决办法
884
查看次数