您的位置:首页 > 编程语言 > Go语言

guava中Range的使用方法(com.google.common.collect.Range)

2015-03-22 17:05 357 查看
1.构造Range实例必须使用Range中的静态方法,因为Range的构造方法被设置为private,当a > b使,或者当a == b且为(a,b)时会抛出IllegalArgumentException

(a,b) Range.open(a,b)
(a,b] Range.openClosed(a,b)
[a,b] Range.Closed(a,b)
[a,b) Range.closedOpen(a,b)
[a,+∞) Range.atLeast(a)
(a,+∞) Range.greatThan(a)
(-∞,b] Range.atMost(b)
(-∞,b) Range.lessThan(b)
(-∞,+∞) Range.all()
2. Range的一些常用方法

<1>. contains()方法用来判断区间是否包含一个给定的值

Range.closed(
1
,
3
).contains(
2
);
//return
true




Range.closed(
[code]1
,
3
).contains(
4
);
//return
false


[/code]

<2>.hasLowerBound()方法和hasUpperBound()方法是用来判断边界是否为无穷

Range.greaterThan(3).hasLowerBound() //return true


Range.greaterThan(3).hasUpperBound() //return false




Range.lessThan(3).hasLowerBound() //return false




Range.lessThan(3).hasUpperBound() //return true




<3>.lowerBoundType()方法和upperBoundType()方法用来返回边界类型(OPEN,CLOSED),


若边界是无穷,则抛出
IllegalStateException


<4>.lowerEndpoint()和upperEndpoint():返回区间的端点值;如果区间的端点值为无穷,抛出 IllegalStateException




<5>.isconnect()判断连个区间是否能连在一起



<6>.intersection(Range)返回两个区间的交集:既包含于第一个区间,又包含于另一个区间的最大区间。当且仅当两个区间是相连的,它们才有交集。如果两个区间没有交集,该方法将抛出IllegalArgumentException。



<7>.span(Range)返回”同时包括两个区间的最小区间”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: