groovy Range

来源:互联网 发布:公安部软件违章查询 编辑:程序博客网 时间:2024/06/06 06:42
import org.junit.Test// 范围是表达特定序列值的一种简略方法。它通过序列中第一个值和最后一个值表示,范围还具有包含和不包含关系。// 一个具有包含关系的范围,将包含第一个值开始到最后一个值为止的所有值;// 而一个具有不包含关系的范围,则包含除了最后一个值之外的所有值。// 包含边界的范围通过".."表示,而不包含边界的范围则在下边界和上边界之间使用"..<"// 范围可以通过字符串或整型值表示,也可以通过升序或降序表示.class Range630 extends GroovyTestCase {    /**     * 1900..1999  //20世纪(包含边界)     * 2000..<2100  //21世纪(不包含边界)     * "A".."D"  //A,B,C和D     * 10..1  //10,9,...,1     * 'Z'..'X'  //Z,Y和X     */    @Test    void testExample() {        def start = -10        def end = 19        def range = start..end + 1        println range.contains(1)  //true, 判断当前范围是否包含指定的元素,如果包含返回true        println range.get(1)  //-9, 返回当前范围中指定位置的元素值        println range.getFrom()  //-10, 返回当前范围中最小的元素值        println range.getTo()  //20, 返回当前范围中最小的元素值        println range.isReverse()  //false, 判断当前范围是否逆序,如果是返回true        println range.size()  //31, 返回当前范围中的元素个数        println range.subList(1, 5)  //[-9, -8, -7, -6], 返回当前范围中给定的formIndex(包含)和toIndex(不包含)之间的值    }}
原创粉丝点击