ในบทนี้ เราจะแนะนำคลาส Java Character และการใช้งานคลาส Character ให้กับคุณเป็นหลัก
เมื่อใช้อักขระ เรามักจะใช้อักขระชนิดข้อมูลในตัว
char ch = 'a'; // Unicode for uppercase Greek omega character char uniChar = 'u039A'; // 字符数组char[] charArray = { 'a', 'b', 'c', 'd', 'e' };
อย่างไรก็ตาม ในกระบวนการพัฒนาจริง เรามักจะพบกับสถานการณ์ที่เราจำเป็นต้องใช้อ็อบเจ็กต์แทนชนิดข้อมูลในตัว เพื่อที่จะแก้ไขปัญหานี้ ภาษา Java จัดเตรียมคลาส wrapper คลาส Character สำหรับอักขระชนิดข้อมูลในตัว
การใช้คลาส Character: คลาส Character มีชุดของวิธีการในการจัดการอักขระ คุณสามารถใช้ตัวสร้าง Character เพื่อสร้างอ็อบเจ็กต์คลาส Character ได้ เช่น:
Character ch = new Character('a');
ในบางกรณี คอมไพลเลอร์ Java จะสร้างอ็อบเจ็กต์ Character โดยอัตโนมัติ
ตัวอย่างเช่น เมื่อพารามิเตอร์ประเภทถ่านถูกส่งผ่านไปยังอักขระที่ต้องใช้พารามิเตอร์ประเภทอักขระ คอมไพเลอร์จะแปลงพารามิเตอร์ประเภทถ่านเป็นอ็อบเจ็กต์ Character โดยอัตโนมัติ ฟีเจอร์นี้เรียกว่าการชกมวย และการสนทนาเรียกว่าการแกะกล่อง
// Here following primitive char 'a' // is boxed into the Character object ch Character ch = 'a'; // Here primitive 'x' is boxed for method test, // return is unboxed to char 'c' char c = test('x');
อักขระที่นำหน้าด้วยแบ็กสแลช () แสดงถึงอักขระหลีก ซึ่งมีความหมายพิเศษสำหรับคอมไพเลอร์
รายการต่อไปนี้แสดงลำดับการหลีกเลี่ยงของ Java:
ลำดับการหลบหนี | อธิบาย |
---|---|
t | แทรกแป้นแท็บที่นี่ในข้อความ |
ข | ใส่คีย์ย้อนกลับที่นี่ในข้อความ |
n | ตัวแบ่งบรรทัด ณ จุดนี้ในข้อความ |
r | แทรกการขึ้นบรรทัดใหม่ที่นี่ในข้อความ |
ฉ | แทรกตัวแบ่งหน้าที่จุดนั้นในข้อความ |
- | แทรกเครื่องหมายคำพูดเดี่ยวที่นี่ในข้อความ |
- | แทรกเครื่องหมายคำพูดคู่ที่นี่ในข้อความ |
- | แทรกแบ็กสแลชที่จุดนี้ในข้อความ |
เมื่อคำสั่งการพิมพ์พบลำดับการหลีกเลี่ยง คอมไพลเลอร์จะตีความอย่างถูกต้อง
public class Test { public static void main(String args[]) { System.out.println("She said "Hello!" to me."); } }
ผลการรวบรวมและการทำงานของตัวอย่างข้างต้นมีดังนี้:
She said "Hello!" to me.
ต่อไปนี้เป็นวิธีการของคลาส Character:
หมายเลขซีเรียล | วิธีการและคำอธิบาย |
---|---|
1 | isLetter() ไม่ว่าจะเป็นตัวอักษร |
2 | isDigit() ไม่ว่าจะเป็นอักขระตัวเลข |
3 | isWhitespace() ไม่ว่าจะเป็นช่องว่าง |
4 | isUpperCase() เป็นตัวพิมพ์ใหญ่หรือไม่? |
5 | isLowerCase() ไม่ว่าจะเป็นตัวอักษรพิมพ์เล็ก |
6 | toUpperCase() ระบุรูปแบบตัวพิมพ์ใหญ่ของตัวอักษร |
7 | toLowerCase() ระบุรูปแบบตัวพิมพ์เล็กของตัวอักษร |
8 | toString() ส่งคืนรูปแบบสตริงของอักขระ ความยาวของสตริงคือ 1 เท่านั้น |
บูลีนคงที่สาธารณะ isUpperCase(char ch): กำหนดว่าอักขระที่กำหนดเป็นอักขระตัวพิมพ์ใหญ่หรือไม่
บูลีนคงที่สาธารณะ isLowerCase(char ch): กำหนดว่าอักขระที่กำหนดเป็นอักขระตัวพิมพ์เล็กหรือไม่
isDigit บูลีนคงที่สาธารณะ isDigit(char ch): กำหนดว่าอักขระที่กำหนดเป็นอักขระตัวเลขหรือไม่
บูลีนในสามประโยคนี้แสดงว่าค่าที่ส่งคืนหลังจากใช้ทั้งสามวิธีนี้เป็นประเภทบูลีน
public class Java { public static void main(String[] args) { Character ch = new Character('X'); System.out.println(Character.isUpperCase(ch)); //Character.isUpperCase(ch) 用于判断括号里的字母是否为大写 System.out.println(Character.isLowerCase(ch)); //Character.isLowerCase(ch) 用于判断括号里的字母是否为小写 System.out.println(Character.isDigit(ch)); //Character.isDigit(ch) 用于判断括号里的内容是否为数字 } }
ผลการวิ่งคือ:
true false false
สำหรับรายการวิธีการทั้งหมด โปรดดูที่ข้อกำหนด java.lang.Character API