博客
关于我
Groovy In Action 笔记 (3) -- 基本数据类型
阅读量:619 次
发布时间:2019-03-13

本文共 1635 字,大约阅读时间需要 5 分钟。

Groovy中所有类型均为引用类型。即使是Java中的8种Primitive Type,groovy中背后使用的都是对应的包装类。没有boxing,unboxing操作.

一下为一些基本类型操作

//Integerdef age = 10println("age++ " + (age++)) // age++ 10, 先输出,再自增assert age == 11println("++age " + (++age)) // ++age 12,先自增,再输出assert age == 12assert 12.toString() == age.toString() // 可直接对常量使用方法assert 12.8.toInteger() == 12 // 可直接对常量使用方法//floatdef weight_f = 1.2fdef weight_F = 1.2Fassert weight_f.class.name == Float.nameassert weight_F.class.name == Float.name//doubledef weight_d = 1.2ddef weight_D = 1.2Dassert weight_d.class.name == Double.nameassert weight_D.class.name == Double.name//longdef meter_l = 1000Lassert meter_l.class.name == Long.name//bigIntegerdef universe_age_g = 1000Gassert universe_age_g.class.name == BigInteger.name//bigDecimaldef decimal_default = 1.2  ///注意默认为 bigDecimal类型,和Java不同def decimal_b= 1.2gassert decimal_default.class.name == BigDecimal.nameassert decimal_b.class.name == BigDecimal.name// operatorsdef compare_a = 20def compare_b = 10assert compare_a > compare_bassert compare_b < compare_aassert (compare_a <=> compare_b) == 1  // <=> 相当于 compareTo函数assert 5 / 2 == 2.5 //默认bigDecimalassert 3 % 2 == 1 //取余数 a.mod(b)assert 5.intdiv(2) == 2 //整除assert compare_a >> 2 == 5 //右移两位,相当于除以4assert compare_a << 2 == 80 //左移两位,相当于乘以4//动态数据类型变化 --- Groovy中所有类型均为 引用类型。 即使是Java中的8种Primitive Type,groovy中背后使用的都是对应的包装类。没有boxing,unboxing操作def type_variant = 100assert type_variant.class.name == Integer.nametype_variant = 100fassert type_variant.class.name == Float.nametype_variant = 100dassert type_variant.class.name == Double.nametype_variant = "STRING"assert type_variant.class.name == String.name

 

转载地址:http://napaz.baihongyu.com/

你可能感兴趣的文章
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>
Mysql 学习总结(89)—— Mysql 库表容量统计
查看>>
mysql 实现主从复制/主从同步
查看>>
mysql 审核_审核MySQL数据库上的登录
查看>>
mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
查看>>
mysql 导入导出大文件
查看>>
MySQL 导出数据
查看>>