概述
关于Api之类的就不介绍了,贴一个例子:
Range<Integer> a1 = Range.closed(0,1);
System.out.println(a1);
Range<Integer> a2 = Range.open(0,1);
System.out.println(a2);
Range<Integer> a3 = Range.openClosed(0,1);
System.out.println(a3);
Range<Integer> a4 = Range.closedOpen(0,1);
System.out.println(a4);
Range<Integer> a5 = Range.atLeast(0);
System.out.println(a5);
Range<Integer> a6 = Range.greaterThan(0);
System.out.println(a6);
Range<Integer> a7 = Range.atMost(0);
System.out.println(a7);
Range<Integer> a8 = Range.lessThan(0);
System.out.println(a8);
输出:
[0‥1]
(0‥1)
(0‥1]
[0‥1)
[0‥+∞)
(0‥+∞)
(-∞‥0]
(-∞‥0)
我们可以使用这个判定是否包含一个元素或者区间之间的操作,如交集,并集等。
这里介绍另外一个有关的应用,RangMap:
RangeMap<Integer, String> level = TreeRangeMap.create();
level.put(Range.closed(90,100), "A");
level.put(Range.closedOpen(80,90), "B");
level.put(Range.lessThan(80), "C");
System.out.println(level.get(95));
System.out.println(level.get(85));
System.out.println(level.get(75));
我们可以使用Range来作为检索数据的key。
RangeMap<Integer, String> level = TreeRangeMap.create();
level.put(Range.closed(90,100), "A");
level.put(Range.closedOpen(80,90), "B");
level.put(Range.lessThan(80), "C");
System.out.println(level.get(95));
System.out.println(level.get(85));
System.out.println(level.get(75));
guava中的Range工具类可以方便处理区间相关的问题,尤其适合与规则或者等级有关的业务逻辑,值得使用一哈。
最后
以上就是幸福钥匙为你收集整理的【Java】guava(三) Range类的全部内容,希望文章能够帮你解决【Java】guava(三) Range类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复