最好只在字段上使用验证注释,以免造成混乱,例如
#include <iostream>
#include <cmath>
#include <math.h>
#include <cstdio>
using namespace std;
double SSS_alpha(double a, double b, double c){
int bot1 = -2*b*c;
if(bot1==0.0){
return 0.0;
}
double alpha = acos((a*a-b*b-c*c)/bot1);
const double rad = 0.5729577951308232088;
return alpha*rad;
}
double SSS_beta(double a, double b, double c){
double bot2 = -2*c*a;
if(bot2==0.0){
return 0.0;
}
double beta = acos((b*b-c*c-a*a)/bot2);
const double rad = 0.5729577951308232088;
return beta*rad;
}
double SSS_gamma(double a, double b, double c){
double bot3 = -2*b*a;
if(bot3==0.0){
return 0.0;
}
double gamma = acos((c*c-a*a-b*b)/bot3);
const double rad = 0.5729577951308232088;
return gamma*rad;
}
double WSW_seite_c(double a, double b, double gamma){
double c_1 = (a*a+b*b-2*a*b*cos(gamma));
double c = sqrt(c_1);
return c;
}
int main(){
cout << SSS_alpha(5.0, 7.0, 8.0)<<endl;
cout <<SSS_beta(5.0, 7.0, 8.0)<<endl;
cout <<SSS_gamma(5,7,8)<<endl;
cout <<"Seite c: "<<WSW_seite_c(5, 7, 0.81)<<endl;
}
或者在构造函数上也包含验证注释会更好:
public class Foo {
@NotNull
private Bar bar;
@NotNull
private Baz baz;
public Foo(Bar bar, Baz baz) {
// ...
}
}
当我实际运行它时似乎没有什么区别。
答案 0 :(得分:0)
仅在字段中,我还看到一些人将它们放入getter方法中。 在示例中,我从未在构造函数中看到注解。
http://www.techferry.com/articles/hibernate-jpa-annotations.html https://docs.jboss.org/hibernate/stable/annotations/reference/en/pdf/