温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java lambda表达式与泛型怎么应用

发布时间:2023-05-04 10:59:58 来源:亿速云 阅读:80 作者:zzz 栏目:编程语言

这篇文章主要讲解了“Java lambda表达式与泛型怎么应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java lambda表达式与泛型怎么应用”吧!

泛型

泛型的语法定义

class 类名 <泛型标识,泛型标识,&hellip;>{ private 泛型标识1,变量名;常用的泛型标识:T,E,K,V } 里面正常写法

public class GenericDemo<K> {
    //定义数组
    private K[] arr;
}
泛型的使用语法
  • 类名<具体的数据> 对象名 = new 类名<具体的数据类型>()

  • jdk1.7之后,后边的<>可以省略不写

  • 类名<具体的数据> 对象名 = new 类名<>()

泛型总结
  • 类型参数化,让类的定义更加通用

  • 泛型不支持基本类型,因为在编译时,基本类型无法转换成Object

  • 泛型类在创建对象的时候,如果没有指定数据类型,将按照Object类型来操作

  • 同一泛型类在逻辑上可以看成是多个不同的类型,但实际是相同的类型

从泛型类派生子类

子类也是泛型,子类和父类的泛型要一致 (例如:连泛型的类型T要一致,写的内容相同),

如果父类没有指明类型,则父类要按照Object类型处理

public class Child<T> extends Parent<T> {
}

子类不是泛型,父类要明确泛型类型,

如果父类没有指明类型,则父类要按照Object类型处理

泛型接口
  • 泛型接口的语法定义:interface 接口名<泛型标识1,泛型标识2,&hellip;>{ 泛型标识 方法名(); &hellip; }

  • 实现类也是泛型,实现类和接口的泛型要一致,如果接口没有指明类型,则接口要按照Object类型处理

  • 实现类不是泛型,接口要明确泛型接口的数据类型,如果接口没有指明类型,则接口按照Object类型处理

lambda表达式

lambda表达式概念
  • 面向对象的编程中强调,必须通过对象的形式去做事情;函数思想则是尽量忽略对象的复杂写法,“强调做什么,而不是以什么形式去做”

  • 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表达式与泛型怎么应用”的内容了,经过本文的学习后,相信大家对Java lambda表达式与泛型怎么应用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI