By GokiSoft.com|
19:47 15/02/2023|
Java Basic
[Source Code] Tìm hiểu Lambda - C2006L
#IAction.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson08;
/**
*
* @author diepvan
*/
public interface IAction {
String action();
}
#IMessage.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson08;
/**
*
* @author diepvan
*/
@FunctionalInterface
public interface IMessage {
void showMessage(String msg);
}
#IRunning.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson08;
/**
*
* @author diepvan
*/
public interface IRunning {
void running();
}
#Main.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson08;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author diepvan
*/
public class Main {
public static void main(String[] args) {
//Cach thong thuong
IRunning o1 = new IRunning() {
@Override
public void running() {
System.out.println("Testing ...");
}
};
o1.running();
//Lambda
IRunning o2 = () -> {
System.out.println("Testing ...");
};
o2.running();
IRunning o21 = () -> {
System.out.println("Testing ...");
System.out.println("Testing ...");
System.out.println("Testing ...");
System.out.println("Testing ...");
System.out.println("Testing ...");
};
o21.running();
IRunning o3 = () -> System.out.println("Testing ...");
o3.running();
//Su dung
IMessage msg = (String message) -> {
System.out.println("Xin chao > " + message);
};
msg.showMessage("ABC");
IMessage msg2 = (message) -> {
System.out.println("Xin chao > " + message);
};
msg2.showMessage("ABC");
IMessage msg1 = (String message) -> System.out.println("Xin chao > " + message);
msg1.showMessage("ABC");
IMessage msg3 = (message) -> System.out.println("Xin chao > " + message);
msg3.showMessage("ABC");
//Array
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
list.forEach(v -> System.out.println(v));
}
}
#Running.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson08;
/**
*
* @author diepvan
*/
public class Running implements IRunning{
@Override
public void running() {
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
}
}
#Running1.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson08;
/**
*
* @author diepvan
*/
public class Running1 implements IRunning{
@Override
public void running() {
for (int i = 0; i < 10; i++) {
System.out.println("OKOK > " + i);
}
}
}
#Test.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson08;
/**
*
* @author diepvan
*/
public class Test {
public static void main(String[] args) {
//Chi su dung tai 1 vi tri nay thoi
Running r = new Running();
r.running();
//Chi su dung tai 1 vi tri nay thoi
Running1 r1 = new Running1();
r1.running();
IRunning r11 = new IRunning() {
@Override
public void running() {
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
}
};
r11.running();
IRunning r12 = () -> {
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
};
r12.running();
IRunning r13 = () -> {
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
System.out.println("Xin chao");
};
test(r13);
test(() -> {
System.out.println("OKOK 1");
System.out.println("OKOK 1");
System.out.println("OKOK 1");
System.out.println("OKOK 1");
System.out.println("OKOK 1");
});
//
// test(() -> System.out.println("OKOK"));
// IAction a = () -> "OKOK";
//
// test2((msg) -> System.out.println("OKOK > " + msg), () -> "OKOK");
}
static void test(IRunning r) {
r.running();
}
// static void test2(IMessage m, IAction msg) {
// m.showMessage(msg.action());
// }
}
#Test02.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson08;
/**
*
* @author diepvan
*/
public class Test02 {
public static void main(String[] args) {
System.out.println("Xin chao 1");
System.err.println("Xin chao error");
System.out.println("Xin chao 2");
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)