JShell เป็นเครื่องมือโต้ตอบบรรทัดคำสั่งที่นำมาใช้ในเวอร์ชัน Java 9 ที่ช่วยให้โปรแกรมเมอร์ดำเนินการคำสั่งง่ายๆ นิพจน์ ตัวแปร เมธอด คลาส อินเทอร์เฟซ ฯลฯ โดยไม่ต้องประกาศ main() วิธีการ
ใน JShell คอมไพเลอร์เตือนโปรแกรมเมอร์เกี่ยวกับ typecasting ปัญหาโดยการโยนข้อผิดพลาด อย่างไรก็ตาม หากโปรแกรมเมอร์ทราบแล้ว แคสต์อย่างชัดแจ้ง จะมีความจำเป็น หากเราต้องเก็บ ค่าข้อมูลที่เล็กลงเป็นประเภทที่ใหญ่ขึ้น แปลงแล้ว หล่อโดยปริยาย จะมีความจำเป็น
มีสองประเภทคือ จำนวนเต็ม การพิมพ์ดีด :
- การกำหนดตามตัวอักษรถึงตัวแปร: ตัวอย่างเช่น สั้น s1 =123456 , ข้อมูลอยู่นอกช่วง เป็นที่ทราบกันดีอยู่แล้วที่ เวลาคอมไพล์ และคอมไพเลอร์ตั้งค่าสถานะข้อผิดพลาด
- การกำหนดตัวแปรต่อตัวแปร: ตัวอย่างเช่น s1 =i1 . ค่าที่เก็บไว้ใน int ที่สเตจนั้น:4567 ซึ่งอยู่ในช่วงของประเภท short และคอมไพเลอร์ไม่มีข้อผิดพลาดใดๆ สามารถจองไว้ล่วงหน้าด้วยการแคสต์ที่ชัดเจน s1 =(สั้น) i1 .
ในข้อมูลโค้ดด้านล่าง เราสามารถใช้การแปลงทั้งแบบโดยนัยและแบบชัดแจ้ง
C:\Users\User>jshell | Welcome to JShell -- Version 9.0.4 | For an introduction type: /help intro jshell> byte b = 128; | Error: | incompatible types: possible lossy conversion from int to byte | byte b = 128; | ^-^ jshell> short s = 123456; | Error: | incompatible types: possible lossy conversion from int to short | short s = 123456; | ^----^ jshell> short s1 = 3456 s1 ==> 3456 jshell> int i1 = 4567; i1 ==> 4567 jshell> s1 = i1; | Error: | incompatible types: possible lossy conversion from int to short | s1 = i1; | ^^ jshell> s1 = (short) i1; s1 ==> 4567 jshell> int num = s1; num ==> 4567