Java 新旧版本总结(不断跟新)

本文深入探讨了Java中的Lambda表达式使用方法,包括基本语法、实例方法引用、类方法引用、类实例方法引用及构造器方法引用。同时,文章还解析了Java List的不同状态及其含义,帮助读者理解List在不同情况下的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(本文内容有藉鑒的地方,都是記錄自己欠缺的食糧)

  • Lambda 表达式的简单例子:

1.基本语法:

            <函数式接口>  <变量名> = (参数1,参数2...) -> {
                    //方法体
        }

public interface LambdaTest {

    abstract void print();
}

public interface LambdaTest2 {

    abstract void print(String a);
}

public interface DefalutTest {

    static int a =5;
    default void defaultMethod(){
        System.out.println("DefalutTest defalut 方法");
    }

    int sub(int a,int b);

    static void staticMethod() {
        System.out.println("DefalutTest static 方法");
    }
}

public class Main {

    public static void main(String[] args) {
        //匿名内部类--java8之前的实现方式
        DefalutTest dt = new DefalutTest(){
            @Override
            public int sub(int a, int b) {
                // TODO Auto-generated method stub
                return a-b;
            }
        };

        //lambda表达式--实现方式1
        DefalutTest dt2 =(a,b)->{
            return a-b;
        };
        System.out.println(dt2.sub(2, 1));

        //lambda表达式--实现方式2,省略花括号
        DefalutTest dt3 =(a,b)->a-b;
        System.out.println(dt3.sub(5, 6));

        //测试final
        int c = 5;
        DefalutTest dt4 =(a,b)->a-c;
        System.out.println(dt4.sub(5, 6));

        //无参方法,并且执行语句只有1条
        LambdaTest lt = ()-> System.out.println("测试无参");
        lt.print();
        //只有一个参数方法
        LambdaTest2 lt1 = s-> System.out.println(s);
        lt1.print("有一个参数");
    }
}

2.引用实例方法:

    <函数式接口>  <变量名> = <实例>::<实例方法名>
    //调用
    <变量名>.接口方法([实际参数...])

3.引用类方法:

    <函数式接口>  <变量名> = <类>::<类方法名称>
    //调用

4.引用类的实例方法:

    //定义接口
    interface <函数式接口>{
        <返回值> <方法名>(<类><类名称>,[其他参数...]); 
    }
    <函数式接口>  <变量名> = <类>::<类实例方法名>
    //调用
    <变量名>.接口方法(类的实例,[实际参数...])
    <变量名>.接口方法([实际参数...])

5.引用构造器方法:

    <函数式接口>  <变量名> = <类>::<new>
    //调用
    <变量名>.接口方法([实际参数...])

1. 一个判断
    int a , b,c;
    b = a  ? true: false;//如果a等于1那么b就等于20,否则等于30

2. 两个判断表达式 
    b = a  ? true: b = c ? true:false

  • Java List

1.list==null,意味着list压根没有地址,在堆内就不存在。

2.list.size( )= 0,意思是堆内有list,但是还没有放元素,其长度随着元素数量变化而变化,暂时为零。

3.list如果为null的话,说明没有进行初始化。这是list调用任何的方法都会抛出空异常。list.size( )=0说明list已经被new过,但是里面没有值。

4.判断时一定要注意先后顺序,如果连list都没有,直接判断ist.size( ),是会报NullPointerException异常的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值