Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะตรวจสอบว่าค่า String เป็นประเภทบูลีนใน java ได้อย่างไร?


คลาส Boolean ของแพ็คเกจ lang มี 2 วิธีคือ parseBoolean() และ valueOf()

  • parseBoolean(สตริง) − เมธอดนี้ยอมรับตัวแปร String และส่งคืนบูลีน หากค่าสตริงที่ระบุเป็น "จริง" (โดยไม่คำนึงถึงกรณี) เมธอดนี้คืนค่า จริง อย่างอื่น หากเป็นค่าว่างหรือ เท็จ หรือ ค่าอื่นจะส่งคืนค่าเท็จ

  • valueOf(สตริง) − เมธอดนี้ยอมรับค่าสตริง แยกวิเคราะห์ และส่งคืนอ็อบเจ็กต์ของคลาสบูลีนตามค่าที่กำหนด คุณสามารถใช้วิธีนี้แทนตัวสร้าง หากค่าสตริงที่ระบุเป็น "จริง" เมธอดนี้จะคืนค่าจริงหรือคืนค่าเป็นเท็จ

ตัวอย่าง

<ก่อนหน้า>นำเข้า java.util.Scanner; คลาสสาธารณะ VerifyBoolean { โมฆะคงที่สาธารณะหลัก (สตริง args []) { Scanner sc =สแกนเนอร์ใหม่ (System.in); System.out.println("ป้อนค่าสตริง:"); สตริง str =sc.next(); ผลลัพธ์บูลีน =Boolean.parseBoolean(str); System.out.println(ผลลัพธ์); ผลลัพธ์บูลีน2 =Boolean.valueOf(str); System.out.println(ผลลัพธ์2); }}

ผลลัพธ์1

ป้อนค่าสตริง:truetruetrue

ผลลัพธ์2

ป้อนค่าสตริง:falsefalsefalse

แต่ไม่มีวิธีใดที่จะตรวจสอบว่าค่าของสตริงที่ระบุเป็น "จริง" หรือไม่ ไม่มีวิธีการตรวจสอบว่าค่าของสตริงเป็นประเภทบูลีนหรือไม่ คุณต้องตรวจสอบโดยตรงโดยใช้ if ลูปหรือนิพจน์ทั่วไป

ตัวอย่าง :การใช้ if loop

<ก่อนหน้า>นำเข้า java.util.Scanner; คลาสสาธารณะ VerifyBoolean { โมฆะคงที่สาธารณะหลัก (สตริง args []) { Scanner sc =สแกนเนอร์ใหม่ (System.in); System.out.println("ป้อนค่าสตริง:"); สตริง str =sc.next(); if(str.equalsIgnoreCase("true")||str.equalsIgnoreCase("false")){ System.out.println("สตริงที่กำหนดเป็นประเภทบูลีน"); } อื่น { System.out.println ("สตริงที่ระบุไม่ใช่ประเภทบูลีน"); } }}

ผลลัพธ์1

ป้อนค่าสตริง:trueGiven string เป็นประเภทบูลีน

ผลลัพธ์2

ป้อนค่าสตริง:falseGiven string เป็นประเภทบูลีน

ผลลัพธ์3

ป้อนค่าสตริง:helloGiven string ไม่ใช่ประเภทบูลีน

ตัวอย่าง :การใช้นิพจน์ทั่วไป

<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; คลาสสาธารณะ VerifyBoolean { โมฆะสาธารณะหลัก (สตริง args []) { Scanner sc =สแกนเนอร์ใหม่ (ระบบ .ใน); System.out.println("ป้อนค่าสตริง:"); สตริง str =sc.next(); รูปแบบรูปแบบ =Pattern.compile("จริง|เท็จ", Pattern.CASE_INSENSITIVE); ตัวจับคู่ตัวจับคู่ =pattern.matcher (str); if(matcher.matches()) { System.out.println ("สตริงที่ระบุเป็นประเภทบูลีน"); } อื่น { System.out.println ("สตริงที่ระบุไม่ใช่ประเภทบูลีน"); } }}

ผลลัพธ์1

ป้อนค่าสตริง:trueGiven string เป็นประเภทบูลีน

ผลลัพธ์2

ป้อนค่าสตริง:falseGiven string เป็นประเภทบูลีน

ผลลัพธ์3

ป้อนค่าสตริง:helloGiven string ไม่ใช่ประเภทบูลีน