之前的文章 java Duration格式规范化 自定义时间单位类型我们讲述了 Duration 这种jdk单位规范
其实我们还有一个单位 DataSize
我们这里属性类中 加入这个 DataSize的一个属性 然后设置他的 get set函数
然后 toString中加上他的输出 方便我们去看
这个类型是用来设置存储容量的 然后 我们在application.yml配置文件中设置一下
datasize 我们给个 10
但就还是那个问题 具体表述的是什么单位?
这里 我们运行项目
他是 10 Byte
但是 这里 我们怎么把他弄错 KB 呢?
如果只能是Byte 那我们弄非常大的容量单位时 设置一个小目标也真的很有可能的
大家可能想试试 比如 到一定单位 他会不会转换 例如 1024Byte 它会不会帮我们转存 KB呀
我们试试
显然 他无法转换 直接变成了 1024Byte
注解 DataSizeUnit 可以设置DataSize的描述单位
这里 我们输入 @DataSizeUnit(DataUnit.) 下面就会带出各种单位提示
这里 我们设置服务器缓存的大小 10MB
配置文件
这里 他就给我们 乘出来了 最后 总单位还是 Byte
然后 这样 可读性其实并不是那么强
我们可以将DataSizeUnit注释掉
然后 我们直接在配置文件中写代码
我们直接设置他单位 MB
这里 也会直接处理成等额的 Byte