提示:总结一些简单的groovy知识点
前言
学习gradle之前 可以先学习一下groovy 的基础知识点
一、Groovy的特点?
groovy是完全兼容java语法的,也就是说,你可以直接在里面编写java语法(即使你不会groovy。hhhhh既然都要了解groovy,那肯定是要学习groovy的一些语法特点的,也方便后面build.gradle文件的使用)
它究竟有哪些不一样呢?
- groovy语句后面的;是可以省略的
- 每个类,构造器和方法都默认是public
- 方法体中最后一行表达式的值会被作为返回值进行返回(return是可选的)
- 会自动的添加getter、setter方法
- 类的属性可以提供 . 号来获取,底层调用的也是getter/setter方法
- == 比较实例对象 调用的是equals 不会出现空指针异常
下面进行举例说明:
// 2.类和方法默认是public(都是可以忽略的)
public class Student{
//1.语句后面的;可以省略
private Integer studentId
private String name
private String gender
//构造器
Student(Integer studentId, String name) {
this.studentId = studentId
this.name = name
}
//4.只给了 studentId / name 的(getter/setter)方法 未声明gender的(getter /setter)方法(会自动添加setter/getter方法)
Integer getStudentId() {
//3.方法体中最后一行表达式的值会被作为返回值进行返回(return是可选的)
studentId
}
String getName() {return name}
void setStudentId(Integer studentId) {this.studentId = studentId}
void setName(String name) {this.name = name}
}
Student student = new Student(20306854,"沸羊羊")
//5.类的属性可以提供 . 号来获取,底层调用的也是getter/setter方法
student.gender = "男" //自动调用set方法,进行赋值
println student.gender //自动调用get方法,输出gender println====》打印
println student.studentId
println student2 == (student) //不会出现空指针异常 会打印false
运行结果:
高级的特性:
- assert语句 (断言)
- 可选类型定义 使用def进行类型推导(类似于java 10中的 var)
- 可选的括号(方法调用)
- 字符串
下面进行举例说明:
运行结果:
二、groovy中的集合
在groovy中默认的集合是ArrayList
下面记录一些基础的数组操作:
运行结果:
如果需要创建其他的数组需要如何指定呢?(假设创建LinkList)
- 使用as关键字进行指定创建数组
- 使用java语法的形式
Map集合
默认map集合实现的是java.lang.LinkedHashMap
运行结果: