JShell เป็น REPL และ command-line tool แรกของ Java ให้การใช้งาน Java programming language elements แบบโต้ตอบ สามารถทดสอบฟังก์ชันในความแยกต่างหากจากคลาสได้ Lambda expression คือฟังก์ชันที่สร้างโดยไม่ได้อยู่ในคลาสใดๆ
ตัวอย่าง: Lambda Expression ใน JShell
C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro
jshell> Consumer<String> s = (String s) -> System.out.println(s)
s ==> $Lambda$14/1268066861@3159c4b8
ใช้ Tab Autocomplete ดูเมธอด
jshell> s.
accept( andThen( equals( getClass() hashCode() notify() notifyAll() toString() wait(
jshell> s.accept("Welcome to Tutorialspoint")
Welcome to Tutorialspoint
ตัวอย่างเพิ่มเติม: Lambda แบบต่างๆ
// Predicate
jshell> Predicate<Integer> isEven = n -> n % 2 == 0
isEven ==> $Lambda$15/...
jshell> isEven.test(4)
$3 ==> true
// Function
jshell> Function<String, Integer> strLen = s -> s.length()
strLen ==> $Lambda$16/...
jshell> strLen.apply("Hello")
$5 ==> 5
// Runnable
jshell> Runnable r = () -> System.out.println("Running...")
r ==> $Lambda$17/...
jshell> r.run()
Running...
JShell รองรับ lambda expressions และ functional interfaces ครบถ้วน ทดสอบได้ทันที