这篇“Java lambda表达式与泛型应用实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java lambda表达式与泛型应用实例分析”文章吧。
泛型
泛型的语法定义
class 类名 <泛型标识,泛型标识,…>{ private 泛型标识1,变量名;常用的泛型标识:T,E,K,V } 里面正常写法
public class GenericDemo<K> {
//定义数组
private K[] arr;
}泛型的使用语法
泛型总结
类型参数化,让类的定义更加通用
泛型不支持基本类型,因为在编译时,基本类型无法转换成Object
泛型类在创建对象的时候,如果没有指定数据类型,将按照Object类型来操作
同一泛型类在逻辑上可以看成是多个不同的类型,但实际是相同的类型
从泛型类派生子类
子类也是泛型,子类和父类的泛型要一致 (例如:连泛型的类型T要一致,写的内容相同),
如果父类没有指明类型,则父类要按照Object类型处理
public class Child<T> extends Parent<T> {
}子类不是泛型,父类要明确泛型类型,
如果父类没有指明类型,则父类要按照Object类型处理
泛型接口
泛型接口的语法定义:interface 接口名<泛型标识1,泛型标识2,…>{ 泛型标识 方法名(); … }
实现类也是泛型,实现类和接口的泛型要一致,如果接口没有指明类型,则接口要按照Object类型处理
实现类不是泛型,接口要明确泛型接口的数据类型,如果接口没有指明类型,则接口按照Object类型处理
lambda表达式
lambda表达式概念
lambda表达式格式
代码示例:
package com.lambda;
public class Lambda {
public static void main(String[] args) {
//正常写法
Mythread mythread = new Mythread();
Thread t = new Thread(mythread);
t.start();
//匿名内部类
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("多线程1就绪了");
}
}).start();
//lambda表达式:创建线程
new Thread(()->{
System.out.println("多线程2就绪了");
}).start();
}
}
class Mythread implements Runnable{
@Override
public void run() {
System.out.println("多线程就绪");
}
}以上就是关于“Java lambda表达式与泛型应用实例分析”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注天达云行业资讯频道。