半年前,我已经完成了这样的工作,只是为了受TimeUnit枚举启发的乐趣。
我明天会把它上传到GitHub上。它包含两个枚举:和 。两者还支持彼此之间的转换。ByteUnit 支持基于 2 的前缀以及基于 10 的前缀。(枚举常量和方法使用 IEC 80000-13 术语作为前缀。BitUnit
ByteUnit
ByteUnit
用法如下所示:
System.out.println(BitUnit.KBIT.toKiB(16000));
System.out.println(ByteUnit.GIB.toMB(1));
System.out.println(ByteUnit.GIB.toMiB(1));
System.out.println(ByteUnit.GB.toMB(1));
System.out.println(ByteUnit.GB.toMiB(1));
...并打印出来:
1953.125
1073.741824
1024.0
1000.0
953.67431640625
对于位和字节之间的转换方法,您已经重载了方法以指定除每字节 8 位以外的字大小。希望你能等到明天。
编辑
你在这里: https://github.com/fabian-barney/Utils
不要责怪我的目录结构 - 我仍然不熟悉Git。:)