之前的文章 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



















