正则表达式
定义
正则表达式定义了字符串的模式。
正则表达式可以用来搜索、编辑或处理文本。
通俗一点的说,就是记录文本规则的代码。
实例
一个字符串其实就是一个简单的正则表达式
举例:"a","1",".","jksj"等等都是正则表达式
语法
在 Java 中,\ 表示:插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。
System.out.print("\\"); // 输出为 \ System.out.print("\\\\"); // 输出为 \\
具体正则表达式详细讲解
Java 正则表达式 | 菜鸟教程 (runoob.com)
Lambda 表达式
由来
在 Java 中定义的函数或方法不可能完全独立,也不能将方法作为参数或返回一个方法给实例。
在 Java 8 以前,若我们想要把某些功能传递给某个方法,总要去写匿名类。
list.sort(new Comparator<User>() { @Override public int compare(User o1, User o2) { return o1.getId()-o2.getId(); } }
为 Comparator 接口创建了一个它的匿名内部类对象,重写接口中的方法,来实现排序功能.
简而言之,在 Java 里将普通的方法或函数像参数一样传值并不简单,为此,
Java 8 增加了一个语言级的新特性,名为 Lambda 表达式。
简介
Lambda 表达式是一个匿名函数
可以传递的代码
语法
(parameters) -> expression 或 (parameters) ->{ statements; }
特征
可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定表达式返回了一个数值。
作用域
只能引用标记了 final 的外层局部变量,这就是说不能在 lambda 内部修改定义在域外的局部变量,否则会编译错误。
lambda 表达式的局部变量可以不用声明为 final,但是必须不可被后面的代码修改
不允许声明一个与局部变量同名的参数或者局部变量