Java 原始函数如何使用它们
您好,我有一个带有@Raw注释的应用程序。我的问题是,下面代码中的这两个函数是否因为原始注释而有效,为什么?this.setX(some.getX());或者一些.setX(this.getX())Java 原始函数如何使用它们,java,annotations,raw-types,Java,Annotations,Raw Types,您好,我有一个带有@Raw注释的应用程序。我的问题是,下面代码中的这两个函数是否因为原始注释而有效,为什么?this.setX(some.getX());或者一些.setX(this.getX()) /** *@invar… *| getX()0) 抛出新的IllegalArgumentException(); 这个.x=x; } 私人浮动x; @生的 public void someMethod(SomeClass some)抛出NullPointerException{ this.setX
/**
*@invar…
*| getX()0)
抛出新的IllegalArgumentException();
这个.x=x;
}
私人浮动x;
@生的
public void someMethod(SomeClass some)抛出NullPointerException{
this.setX(some.getX());
some.setX(this.getX());
}
}
您没有指定@Raw注释来自何处,因此我假设您指的是文档中的注释:
此类型限定符属于用于跟踪的原始类型系统
初始化。此类型系统不是单独使用的,而是在
与其他类型的系统结合,以确保安全
初始化。例如,NullnessRawnessChecker使用rawness
跟踪非空字段的初始化
代码中的函数是有效的,它们本身也可以工作。有人只是想要一些保护措施来确保他们使用的对象完全初始化
/**
* @invar …
* | getX() <= 0
*/
public class SomeClass {
@Raw
public float getX() {
return this.x;
}
public void setX(float x) throws IllegalArgumentException {
if (x > 0)
throw new IllegalArgumentException();
this.x = x;
}
private float x;
@Raw
public void someMethod(SomeClass some) throws NullPointerException {
this.setX(some.getX());
some.setX(this.getX());
}
}