java DataSize存储容量单位规范化设置

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

你可能感兴趣的:(java,开发语言)