CodeGym /จาวาบล็อก /สุ่ม /Java String มี () วิธีการ
John Squirrels
ระดับ
San Francisco

Java String มี () วิธีการ

เผยแพร่ในกลุ่ม
ฟังก์ชันนี้ออกแบบมาเป็นพิเศษเพื่อตรวจสอบว่าสตริง 'มี' สตริงอื่นหรือไม่ หากคุณยังใหม่กับสิ่งนี้ คุณอาจต้องใช้เพื่อค้นหา 'ตัวละคร' แต่จะไม่ตอบสนองวัตถุประสงค์ ในบทความนี้ เราจะพูดถึงวิธีการใช้java.lang.String.contains() และข้อยกเว้นที่อาจเกิดขึ้นหากใช้ไม่ระมัดระวัง

วิธีการประกอบด้วย () คืออะไร?

คุณสามารถใช้ เมธอด มี (คีย์สตริง)เพื่อ " ค้นหา " หากมีสตริง " คีย์ " อยู่ในสตริงนั้นหรือไม่ หากพบ "คีย์" ระบบจะส่งคืน "จริง" มิฉะนั้นคุณจะได้รับ "เท็จ"Java String ประกอบด้วย () วิธีการ - 1

การดำเนินการภายใน

วิธีการนี้ถูกนำมาใช้แล้วโดยjava.lang.String คุณไม่จำเป็นต้องใช้สิ่งนี้ด้วยตัวเอง นี่คือคำอธิบายสั้น ๆ เพื่อความเข้าใจของคุณ

public class ContainsMethod 
{
    public boolean contains(CharSequence key) 
    {  
        return indexOf(key.toString()) > -1;  
    } 
} 

คำอธิบายรหัส

มี ()วิธีการใช้ CharSequence เป็นพารามิเตอร์อินพุต ซึ่งภายหลังจะถูกแปลงเป็น "สตริง" จากนั้นนิพจน์นี้จะคำนวณindexOf(key.toString()) > -1; . ซึ่งหมายความว่า หากพบ "คีย์" นั้นที่ดัชนีใดๆ ( "0" หรือมากกว่า ) ระบบจะส่งคืนค่า "จริง" และหากไม่พบคีย์ ระบบจะส่งคืนค่า "เท็จ"

จะใช้วิธีประกอบด้วย () ได้อย่างไร

นี่คือวิธีที่คุณสามารถใช้งานได้

public class ContainsMethod {
    public static void main(String[] args) {

	String input = "A brown fox jumped over a lazy dog.";

	// check the containing strings
	System.out.println("input.contains(bro) = " + input.contains("bro"));
	System.out.println("input.contains(brown) = " + input.contains("brown"));
	System.out.println("input.contains(Brown) = " + input.contains("Brown"));

	System.out.println("input.contains(fox) = " + input.contains("fox"));
	System.out.println("input.contains(xof) = " + input.contains("xof"));
		
	System.out.println("input.contains(dog) = " + input.contains("dog"));
	System.out.println("input.contains(lazyy) = " + input.contains("lazyy"));
	System.out.println("input.contains(jumping) = " + input.contains("jumping"));
    }
}
เอาต์พุต
input.contains(bro) = true input.contains(brown) = true input.contains(Brown) = false // false เพราะ input.contains(fox) = true input.contains(xof) = false // false เนื่องจากคำสั่งควรเหมือนกัน input.contains(dog) = true input.contains(lazyy) = false // false เนื่องจากไม่พบสตริงย่อยทั้งหมด input.contains(jumping) = false

คำอธิบายรหัส

โปรดทราบว่าวิธีนี้คำนึงถึงตัวพิมพ์เล็กและใหญ่สำหรับพารามิเตอร์อินพุต ดังนั้นในข้อมูลโค้ดข้างต้น คุณสามารถสังเกตได้ว่าเมื่อคุณค้นหาคำว่า "brown" จะถูกส่งคืน ค่า trueขณะที่ค่า falseจะถูกส่งคืนสำหรับค่า "Brown" นอกจากนี้ คุณจะได้รับความจริงหากคุณพบ "fox" และเท็จสำหรับ "xof" หรือ "oxf" เนื่องจากลำดับของอักขระต้องเหมือนกัน สุดท้าย หากคุณพบ "กระโดด" หรือ "กระโดด" คุณจะได้รับค่าจริงเนื่องจากพารามิเตอร์ทั้งหมดมีอยู่ในสตริง " อินพุต " ในขณะที่หากคุณตรวจสอบ "การกระโดด" เท็จจะถูกส่งกลับเนื่องจากไม่พบคีย์ทั้งหมด ("การกระโดด")

การดูแลข้อยกเว้น

วิธีการ java.lang.String.contains()ส่งผลให้เกิดข้อยกเว้นตัวชี้ Null หากคุณลืมที่จะเริ่มต้นสตริงพารามิเตอร์ด้วยค่าที่เป็นรูปธรรม

public class ContainsMethod {
    public static void main(String[] args) {

      String input = "Here is a test string.";
      String test = null;

	// check what happens if you look for a null string 
	System.out.println("input.contains(test) = " + input.contains(test));
	}
}
เอาต์พุต

Exception in thread "main" java.lang.NullPointerException
	at java.lang.String.contains(String.java:2133)
	at ContainsMethod.main(ContainsMethod.java:8)

บทสรุป

มี ()วิธีการจัดเตรียมยูทิลิตี้จาวาที่มีประโยชน์เพื่อค้นหาลำดับอักขระหรือสตริง เราหวังว่าในตอนท้ายของโพสต์นี้ คุณจะคุ้นเคยกับการใช้งานและการนำไปปฏิบัติ เพื่อความเข้าใจที่ดียิ่งขึ้น คุณควรพับแขนเสื้อแล้วไปทำงาน การสร้างรหัสที่ปราศจากข้อผิดพลาดมาพร้อมกับความพยายามอย่างสม่ำเสมอ มารับกันเลย! คุณสามารถกลับมาที่นี่ได้เสมอเมื่อคุณติดขัด มีความสุขในการเข้ารหัส :)
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION