1. 程式人生 > 遊戲 >《銀河破裂者》Steam首發價80元,超超超長髮售預告片放出

《銀河破裂者》Steam首發價80元,超超超長髮售預告片放出

三種方式的演化

Thread構造方法如下

public Thread(Runnable target) {
        init(null, target, "Thread-" + nextThreadNum(), 0);
}

Runnable 是一個介面

@FunctionalInterface
public interface Runnable {
    public abstract void run();
}

呼叫對比:

public class App {
   public static void main(String[] args) {

      //default
      new Thread(new Task()).start();

      //匿名內部類
      new Thread(new Runnable() {
         @Override
         public void run() {
            System.out.println("002");
         }
      }).start();

      //Lambda表示式
      new Thread(() -> {
         System.out.println("003");
      }).start();
   }
}

class Task implements Runnable {
   @Override
   public void run() {
      System.out.println("001");
   }
}

匿名內部類 vs Lambda表示式


所以,不是所有使用匿名內部類的地方都可以使用Lambda表示式代替。
ref: https://www.geeksforgeeks.org/difference-between-anonymous-inner-class-and-lambda-expression/