有没有可能使用运行时调用方法来设置常量编译时间值?在《Spring实战》一书中,我找到了这段代码:
问题出在MAX_LONG_AS_STRING上,因为defaultValue参数需要是一个字符串常量,但MAX_LONG_AS_STRING不是一个编译时常量。有没有可能以常量字符串值的形式获取Long类型的最大值?也许有助于我在编译时调用toString方法,或以其他方式检索此值?
private static final String MAX_LONG_AS_STRING = Long.toString(Long.MAX_VALUE);
@RequestMapping(method = RequestMethod.GET)
public List<Spittle> spittles(
@RequestParam(value = "max", defaultValue = MAX_LONG_AS_STRING) long max,
@RequestParam(value = "count", defaultValue = "20") int count) {
return spittleRepository.findSpittles(max, count);
}
问题出在MAX_LONG_AS_STRING上,因为defaultValue参数需要是一个字符串常量,但MAX_LONG_AS_STRING不是一个编译时常量。有没有可能以常量字符串值的形式获取Long类型的最大值?也许有助于我在编译时调用toString方法,或以其他方式检索此值?
Long.MAX_VALUE
的合同规定它返回2 ^ 63-1
。 - bradimus