Java 为什么Android Studio中没有@DoubleRange注释支持@IntRange和@FloatRange之类的注释
我今天在Android Studio Support Annotations上阅读了这篇文章,并开始在我的代码中使用这些注释,下面是一个示例:Java 为什么Android Studio中没有@DoubleRange注释支持@IntRange和@FloatRange之类的注释,java,android,annotations,Java,Android,Annotations,我今天在Android Studio Support Annotations上阅读了这篇文章,并开始在我的代码中使用这些注释,下面是一个示例: public final static class GoogleMapsZoomLevel { public static final int MIN_ZOOM_LEVEL = 0; public static final int MAX_ZOOM_LEVEL = 21; .. public GoogleMapsZo
public final static class GoogleMapsZoomLevel {
public static final int MIN_ZOOM_LEVEL = 0;
public static final int MAX_ZOOM_LEVEL = 21;
..
public GoogleMapsZoomLevel(@IntRange(from=MIN_ZOOM_LEVEL, to=MAX_ZOOM_LEVEL) int zoomLevel) {
if (zoomLevel < MIN_ZOOM_LEVEL || zoomLevel > MAX_ZOOM_LEVEL) {
throw new IllegalArgumentException(ERROR_ZOOM_LEVEL_OUT_OF_BOUNDS);
}
this.zoomLevel = zoomLevel;
}
..
}
public最终静态类GoogleMapsZoomLevel{
公共静态最终整数最小缩放级别=0;
公共静态最终整数最大缩放级别=21;
..
公共GoogleMapsZoomLevel(@IntRange(从=最小缩放级别,到=最大缩放级别)int zoomLevel){
如果(缩放级别<最小缩放级别| |缩放级别>最大缩放级别){
抛出新的IllegalArgumentException(错误\u缩放\u级别\u超出\u边界);
}
this.zoomLevel=zoomLevel;
}
..
}
在我的代码中,我有一个类在其构造函数中接受
double
值,但没有@DoubleRange注释。我使用@FloatRange还是什么都不用?关于long
值的相同问题实际上,@FloatRange的文档说明:
Denotes that the annotated element should be a float or double in the given range
@IntRange也有类似的情况
Denotes that the annotated element should be an int or long in the given range