4
A
回答
3
没有,因为在编译时,无法知道您的软件逻辑是否会产生超出范围的值。在运行时,本地sdk不支持它的实现。但是,您可以包装类型类(例如,创建类MyInteger
作为由MyInteger
类中的范围验证方法包装的成员作为Integer
实例)
5
你可以得到最接近的是
1)你的价值观的范围内创建一个枚举,这就是枚举是。
public Enum MyVals {
ONE(1)
TWO(2)
...
private int val;
MyVals(int val) {
this.val = val;
}
}
see this。当然这只有在数值是离散的时候才起作用(即不是浮动的)
2)使字段保密并编写一个智能设置程序,以不可接受的值爆炸。
public void setVal(int val) {
if (val < 0 || val > 10) throw....;
this.val = val;
}
0
与您所谈论的最接近的是枚举,它允许您指定一组修复值。没有办法声明一个Integer,但限制它可以拥有的有效值。不过,您可以创建自己的类型并强制执行此类限制。
0
您可以对这样的集合使用枚举。但我想你也想要一些有意义的值映射。在这种情况下,维护一个查找HashTable,使用键作为枚举,并为任何你想要的值赋值。
1
虽然不是指定范围的编译时选项,但另一种方法是使用验证框架,如Hibernate Validator。您使用类似@Range(min=, max=)的注释来标注您的字段。您使用验证器对象的validate method来验证您的对象。
相关问题
- 1. 如何创建仅接受预定义范围值的EditTextPreference?
- 2. 定义范围值
- 3. 定义单元格的变量范围
- 4. JavaScript变量范围返回“未定义”
- 5. 在本地范围内定义全局范围的变量
- 6. 粘贴特殊只有特定范围
- 7. AngularJS绑定$范围变量
- 8. SQL语句不接受变量定义
- 9. phpstorm接受未定义变量
- 10. 自定义PowerShell Cmdlet不接受变量
- 11. 在bash中只接受一定范围内的输入
- 12. 未定义的值,变量范围问题
- 13. 从只在特定的范围内
- 14. 接受用户在特定范围内的日期
- 15. 套接字只接受特定地址?
- 16. java中的范围变量
- 17. Java中的变量范围
- 18. C#:适用范围,特定变量绑定
- 19. InputBox:只允许一定范围的值
- 20. 范围定义名称...不会接受名称
- 21. 优化自定义函数接受范围
- 22. make:使用模式特定变量值定义多个变量
- 23. 特定值范围的累积函数
- 24. 如何汇总特定范围的值?
- 25. 范围GHC接受
- 26. 在java中获取变量值的问题。变量的范围
- 27. Java变量超出范围
- 28. 如何获得在函数或变量范围内定义的张量值?
- 29. $范围未定义
- 30. 定义范围内的多个值
你可以换一个'Integer',但不能扩展它;这是'最终'。 – rgettman 2013-03-21 18:08:59
@rgettman感谢您的注意。更正了答案 – giorashc 2013-03-22 07:59:13