এই ফাংশনটি বিশেষভাবে একটি স্ট্রিং অন্য স্ট্রিং 'ধারণ করে' কিনা তা পরীক্ষা করার জন্য ডিজাইন করা হয়েছে। আপনি যদি এটিতে নতুন হন তবে আপনি একটি 'অক্ষর' খুঁজে পেতে এটি ব্যবহার করতে পারেন। কিন্তু এটা উদ্দেশ্য পরিবেশন করা হবে না. এই নিবন্ধে, আমরা আলোচনা করব কিভাবে java.lang.String.contains() ব্যবহার করা হয়, প্রয়োগ করা হয় এবং সাবধানে ব্যবহার না করলে কী ব্যতিক্রম ঘটতে পারে।
contains() পদ্ধতি কি?
একটি নির্দিষ্ট স্ট্রিং " কী " একটি নির্দিষ্ট স্ট্রিংয়ের মধ্যে উপস্থিত থাকলে বা না থাকলে আপনি " খুঁজে " করার জন্য contains(স্ট্রিং কী) পদ্ধতি ব্যবহার করতে পারেন। যদি "কী" পাওয়া যায়, "সত্য" ফেরত দেওয়া হয়। অন্যথায় আপনি একটি "মিথ্যা" পাবেন।
অভ্যন্তরীণ বাস্তবায়ন
এই পদ্ধতিটি ইতিমধ্যেই 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) = false // false কারণ case-sensitive input.contains(fox) = true input.contains(xof) = মিথ্যা // মিথ্যা কারণ অর্ডার একই হওয়া উচিত input.contains(dog) = true input.contains(lazyy) = মিথ্যা // মিথ্যা কারণ পুরো সাবস্ট্রিং পাওয়া যায়নি input.contains(জাম্পিং) = মিথ্যা
কোড ব্যাখ্যা
অনুগ্রহ করে মনে রাখবেন, এই পদ্ধতিটি ইনপুট প্যারামিটারের জন্য কেস-সংবেদনশীল । সুতরাং উপরের স্নিপেটে, আপনি লক্ষ্য করতে পারেন যে আপনি অনুসন্ধান করলে "বাদামী" সত্য ফেরত আসে, যেখানে "ব্রাউন" এর জন্য মিথ্যা ফেরত দেওয়া হয়। এছাড়াও, আপনি সত্য পাবেন যদি আপনি "fox" এবং "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