如果您希望 编译器 捕获错误,则可以为小时定义一个枚举,然后将其用作的构造函数的参数
Hour。但是,这可能会使
Hour该类无用。
public class Hours { _1, _2, _3, // etc.}public class Hour { public Hour(Hours hour) { // no need for runtime check here, can not be wrong}}Hour hour = new Hour(Hours._3);此技术可能不是最好的方法,但是通常最好依赖编译时检查,而不是运行时检查。



