یہ فنکشن خاص طور پر یہ چیک کرنے کے لیے ڈیزائن کیا گیا ہے کہ آیا ایک سٹرنگ میں کوئی اور سٹرنگ 'شامل' ہے یا نہیں۔ اگر آپ اس میں نئے ہیں تو آپ اسے 'کردار' تلاش کرنے کے لیے استعمال کر سکتے ہیں۔ لیکن یہ مقصد پورا نہیں کرے گا۔ اس آرٹیکل میں، ہم اس بات کی نشاندہی کریں گے کہ java.lang.String.contains() کو کس طرح استعمال کیا جاتا ہے، لاگو کیا جاتا ہے اور اگر احتیاط سے استعمال نہ کیا جائے تو کیا استثنیٰ پیدا ہوسکتا ہے۔
contains() طریقہ کیا ہے؟
اگر کوئی مخصوص سٹرنگ "کی" کسی خاص سٹرنگ میں موجود ہے یا نہیں ہے تو آپ " تلاش " کے لیے contains(String key) طریقہ استعمال کر سکتے ہیں ۔ اگر "کلید" مل جاتی ہے تو، "سچ" واپس آ جاتا ہے۔ ورنہ آپ کو "جھوٹا" مل جائے گا۔
اندرونی نفاذ
یہ طریقہ پہلے ہی java.lang.String کے ذریعے نافذ کیا گیا ہے ۔ آپ کو خود اسے نافذ کرنے کی ضرورت نہیں ہے۔ یہاں آپ کی سمجھ کے لئے اس کی ایک فوری وضاحت ہے.public class ContainsMethod
{
public boolean contains(CharSequence key)
{
return indexOf(key.toString()) > -1;
}
}
کوڈ کی وضاحت
پر مشتمل ہے () طریقہ، ایک CharSequence کو ان پٹ پیرامیٹر کے طور پر لیتا ہے۔ جو بعد میں "سٹرنگ" میں تبدیل ہو جاتا ہے۔ پھر اس اظہار کا حساب کیا جاتا ہے indexOf(key.toString()) > -1; . جس کا مطلب ہے، اگر وہ "کلید" کسی بھی انڈیکس ("0" یا اس سے زیادہ) پر پائی جاتی ہے تو "سچ" لوٹا دیا جاتا ہے۔ اور اگر کلید نہیں ملتی ہے، تو ایک "جھوٹا" واپس آ جاتا ہے۔contains() طریقہ استعمال کیسے کریں؟
یہاں ہے کہ آپ اسے کیسے استعمال کرسکتے ہیں۔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) = غلط // غلط کیونکہ کیس حساس input.contains(fox) = true input.contains(xof) = غلط // غلط کیونکہ آرڈر ایک ہی ہونا چاہئے input.contains(dog) = true input.contains(lazyy) = false // false کیونکہ پوری ذیلی سٹرنگ نہیں ملی input.contains(jumping) = غلط
کوڈ کی وضاحت
براہ کرم نوٹ کریں، یہ طریقہ ان پٹ پیرامیٹرز کے لیے کیس حساس ہے۔ لہذا مندرجہ بالا ٹکڑوں میں، آپ دیکھ سکتے ہیں کہ جب آپ "براؤن" کو تلاش کرتے ہیں تو سچ واپس آتا ہے، جب کہ "براؤن" کے لیے غلط واپس آتا ہے۔ اس کے علاوہ، اگر آپ کو "لومڑی" اور "xof" یا "oxf" کے لیے غلط معلوم ہوتا ہے تو آپ سچ ہو جائیں گے کیونکہ حروف کی ترتیب ایک جیسی ہونی چاہیے۔ آخر میں، اگر آپ کو "جمپ" یا "جمپڈ" ملتا ہے تو آپ کو ایک سچ مل جائے گا کیونکہ پورا پیرامیٹر " ان پٹ " سٹرنگ میں موجود ہے۔ جب کہ، اگر آپ "جمپنگ" کو چیک کرتے ہیں تو غلط واپس آ جاتا ہے کیونکہ پوری کلید ("جمپنگ") نہیں ملی۔مستثنیات کا خیال رکھنا
java.lang.String.contains() طریقہ کار کے نتیجے میں صفر پوائنٹر استثناء ہوتا ہے اگر آپ پیرامیٹر سٹرنگ کو کچھ ٹھوس قدر کے ساتھ شروع کرنا بھول جاتے ہیں۔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)
GO TO FULL VERSION