1. 程式人生 > 實用技巧 >有關 Session 的那些事兒

有關 Session 的那些事兒

能夠用lambda表示式進行簡化,必須是函式式介面

函式式介面:在一個接口裡面,有且僅有一個抽象方法,可有很多非抽象方法

//1.定義一個函式式介面
interface ILike{
    void like();
}

從複雜到簡化到lambda表示式的過程:

package thread;

public class TestLambda {
//3.靜態內部類
    static class Like3 implements ILike{

    @Override
    public void like() {
        System.out.println("I like lambda 靜態內部類");
    }
}
    
public static void main(String[] args) { Like2 like2 = new Like2(); like2.like(); Like3 like3 = new Like3(); like3.like(); // 4.區域性內部類 class Like4 implements ILike{ @Override public void like() { System.out.println(
"I like lambda 區域性內部類"); } } Like4 like4 = new Like4(); like4.like(); // 5.匿名內部類,沒有類的名稱,必須藉助介面或父類 ILike like5 = new ILike() { @Override public void like() { System.out.println("I like lambda 匿名內部類"); } }; like5.like();
// 6.對匿名內部類進行簡化,用lambda簡化,只寫引數列表和{}裡面的方法體 ILike like6 = ()-> {System.out.println("I Like lambda lambda簡化");}; like6.like(); } } //1.定義一個函式式介面 interface ILike{ void like(); } //2.外部實現類 class Like2 implements ILike{ @Override public void like() { System.out.println("I like Lambda 外部實現類"); } }

lambda表示式的優化:

最標準的lambda表示式:

public class TestLambda03 {
    public static void main(String[] args) {
        Help help = (int a,double b,boolean c)->{
            System.out.println(a+" "+b+" "+c);
            System.out.println("好開心");
        };
        help.help(1,1.3,true);
    }
}
interface Help{
    void help(int a,double b,boolean c);
}

可以省略{}時:

public class TestLambda02 {
    public static void main(String[] args) {
//        當{}方法體裡面只有一行程式碼時,lambda表示式可省略{};
//        當{}方法有多行程式碼時,必須要寫{}
        Help help = (int a)-> System.out.println("幫助人數為"+a);
      /*  Help help = (int a)->{
            System.out.println("幫助人數為"+a);
            System.out.println("好開心");
        };*/
        help.help(1);
    }
}

interface Help{
    void help(int a);
}

()和引數型別可省略的情況

public class TestLambda03 {
    public static void main(String[] args) {
//        引數型別要省略都省略,要不省略都不省略
//        只有一個引數時才可省略()如 當只有一個引數時
//        Help help = a->{
//            System.out.println(a+" "+b+" "+c);
//            System.out.println("好開心");
//        };

        Help help = ( a, b, c)->{
            System.out.println(a+" "+b+" "+c);
            System.out.println("好開心");
        };
        help.help(1,1.3,true);
    }
}
interface Help{
    void help(int a,double b,boolean c);
}