1. 数字对象
Groovy的数字被定义为对象,都是Number类的子类的一个实例。
数字的包装类
Numbers类方法:
方法 | 描述 |
---|---|
xxxValue() | 接受Number作为参数,基于调用的方法返回基本类型。 |
compareTo() | 比较两个数字的值 |
equals() | 比较两个数字的对象 |
valueOf() | 返回参数的值得Number对象 |
toString() | 返回Number对象的值得String对象 |
parseXxx() | 返回String的原始数据类型 |
abs() | 返回参数的绝对值 |
ceil() | 向上取整 |
floor() | 向下取整 |
rint() | 四舍五入取整 |
round() | 四舍五入取整 |
min() | 返回较小的参数 |
max() | 返回较大的参数 |
exp() | 返回自然对数e为底的参数的幂 |
log() | 返回自然对数 |
pow() | 返回第一个参数的第二个参数次幂 |
sqrt() | 返回参数的平方根 |
sin() | 返回指定double值的正弦值 |
cos() | 返回指定double值的余弦值 |
tan() | 返回指定double值的正切值 |
asin() | 返回指定double值的反正弦值值 |
acos() | 返回指定double值的反余弦值 |
atan() | 返回指定double值的反正切值值 |
atan2() | 将直角坐标(x,y)转换为极坐标(r, theta)并返回theta |
toDegrees() | 将参数值转换为度 |
radiant() | 将参数值转换为弧度 |
random() | 用于生成[0.0, 1.0)之间的随机数 |
2. 字符串对象
- 引号包含的字符串文本,在Groovy中创建一个字符串对象。
- 可以用单引号,双引号,三引号包含字符串,其中,三引号包含的字符串可以换行
- 字符串的单个字符可以通过索引访问,索引从零开始,以小于字符串长度的一个结束。
- 可以从字符串末尾开始访问
字符串操作
方法 | 操作 |
---|---|
| 字符串的串联 |
* | 字符串的重复 |
length() | 字符串的长度 |
字符串方法
方法 | 描述 |
---|---|
String center(Number numberOfChars) | 返回长度为numberOfChars的新字符串,两端由空格组成 |
int compareToIgnoreCase(String str) | 按字母顺序比较两个字符串,忽略大小写差异。返回差值(正负整数或者零) |
String concat(String str) | 将指定的String连接到此String的结尾 |
void eachMatch(String regex, Closure clos) | 处理每个正则表达式组匹配的给定String的子字符串 |
Boolean endsWith(String suffix) | 测试此字符串是否以指定的后缀结尾 |
Boolean equalsIgnoreCase(String str) | 与另一个字符串进行比较,忽略大小写 |
String getAt(int index) | 返回字符串索引位置的字符串 |
public int indexOf(int ch) | 此字符串中指定子字符串第一次出现的索引,可以指定搜索位置 |
Boolean matches(String regex) | 正则匹配 |
String minus(Object value) | 删除字符串的值部分 |
String next() | 字符串中的最后一个字符 1 |
String previous() | 字符串中的最后一个字符-1 |
String padLeft(Number numberOfCharacters) | 填充字符串,并在左侧附加空格,也可以指定填充的字符串 |
String padRight(Number numberOfCharacters) | 填充字符串,并在右侧附加空格,也可以指定填充的字符串 |
String replaceAll(String regex, String replacement) | 替换 |
String reverse() | 反置 |
String[] split(String regex) | 切割 |
String substring(int beginIndex) | 截取,可以指定结束位置 |
String toUpperCase() | 转化为大写 |
String toLowerCase() | 转换为小写 |
String plus(Object value) | 字符串追加 |
3. 范围对象
- 1..10 - 包含范围
- 1 .. <10 - 排除范围 'a'..'x' - 字符范围 10..1 - 降序范围 'x'..'a' - 字符降序范围
范围方法
方法 | 描述 |
---|---|
boolean contains(Object obj) | 是否包含 |
Object get(int index) | 获取索引位置的值 |
Comparable getFrom() | 获取范围的下限值 |
Comparable getTo() | 获取范围的上限值 |
boolean isReverse() | 是否是降序范围 |
int size() | 元素数 |
List subList(int fromIndex, int toIndex) | 返回范围的子范围 |
4. 列表对象
- 列表用方括号包裹,用逗号隔开
- [11,12,13,14] - 整数值列表
- ['Angular','Groovy','Java'] - 字符串列表
- [1,2,[3,4],5] - 嵌套列表
- ['Groovy',21,2.11] - 异构的对象引用列表
- [] - 空列表
列表方法
方法 | 描述 |
---|---|
boolean add(Object value) | 添加元素 |
boolean contains(Object value) | 查找元素,返回是否存在 |
Object get(int index) | 返回指定位置的元素 |
boolean isEmpty() | 判断是否为空 |
List minus(Collection collection) | 列表差集 |
List plus(Collection collection) | 列表并集 |
Object pop() | 返回并删除列表最后一个值 |
Object remove(int index) | 删除指定位置的值 |
List reverse() | 列表倒置 |
int size() | 获得列表长度 |
List sort() | 列表排序 |
5.映射
- Map(映射,关联数组,字典,表,三列)是对象引用的无序集合。
- Map中的元素由键访问。
- ['TopicName':'Lists','TopicName':'Maps'] - 具有TopicName作为键的键值对的集合及其相应的值。
- [:] - 空映射。
映射方法
方法 | 描述 |
---|---|
boolean containsKey(Object key) | 键值是否存在 |
Object get(Object key) | 根据键值获取值 |
Set keySet() | 获取键值的集合 |
Object put(Object key, Object value) | 插入键值对 |
int size() | 返回Map的大小 |
Collection values() | 值得集合 |
6.日期和时间
- 类是Date
- 具有毫秒精度
- 构造方法Date(),构建Date对象,以最近的毫秒为单位
- 构建方法Date(long millisec),1970年1月...起始的制定毫秒数
- 年表示为y-1900
- 月表示为0-11
- 日期表示为1-31
- 小时表示为0-23
- 分钟表示为0-59
日期和时间的方法
方法 | 描述 |
---|---|
public boolean before(Date when) | 是否早于指定时间 |
public boolean after(Date when) | 判断是否晚于指定时间 |
public boolean equals(Object obj) | 是否相等 |
public int compareTo(Date anotherDate) | 返回0,-1,1表示等于,早于,晚于 |
public String toString() | 转换为格式化的字符串,dow mon dd hh:mm:ss zzz yyyy |
public long getTime() | 获取1970年1月...以来的毫秒数 |
public void setTime(long time) | 指定时间点为1970年1月...以来的毫秒数 |
7.正则表达式
- 用〜“regex”表示一个本地支持的正则表达式
- 当Groovy运算符=〜在if和while语句(见第8章)中作为谓词(返回布尔值的表达式)出现时,左侧的String操作数与右侧的正则表达式操作数匹配。