千锋杭州面试Java时的常见技术分享
Java程序员如何提升专业能力?在面试中怎么更好的去回答面试问题呢?下面就跟着千锋杭州Java培训老师一起来看看精品Java技术分享,面试Java程序员的还不赶紧来看看。
Lambda表达式之接口实例化
Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。
Lambda表达式还增强了集合库。 Java SE 8添加了2个对集合数据进行批量操作的包: Java.util.function 包以及Java.util.stream 包。 流(stream)就如同迭代器(iterator),但附加了许多额外的功能。 总的来说,lambda表达式和 stream 是自Java语言添加泛型(Generics)和注解(annotation)以来最大的变化。
语法格式:
(参数)->{语句块}
其中只有一个参数的化()可以省略
Lambda表达式可以实现的操作:
1、完成接口的实例化或抽象类的实例化
比如我们线程的创建:
之前都是这样创建的:
Public class My_Main
{
Public static void main(String[] args){
New Thread(new Runnable(){
Public void run(){
System.out.print(“子线程输出”);
}
}).start();
}
}
可是使用Lambda表达式却可以这样写:
Public class My_Main2
{
Public static void main(String[] args){
New Thread(()->System.out.print(“子线程输出”)).start();
}
}
看起来Lambda表达式是不是很简洁。
再例如:
自定义一个接口,接口中有一个方法
public interface AAction {
void work(String name);
}
创建类进行测试
public class My_Main {
private static void t1(AAction aAction){
aAction.work("张三");
}
public static void main(String[] args) {
t1((n)-> System.out.println(n+" 正在千锋学习呢"));
}
}
总结:Lambda表达式实现接口的实例化要求接口中只能有一个方法。如果有多个方法就不好推断。
所以说,Java技术掌握好,面试成功率也会增高很多。所以,为了提高大家面试成功的几率,获得心仪的高薪岗位。千锋杭州Java培训老师是十八般武艺尽出。全面助攻你无忧面试!