இந்த செயல்பாடு ஒரு சரம் மற்றொரு சரத்தை 'கொண்டிருக்கிறதா' இல்லையா என்பதைச் சரிபார்க்க சிறப்பாக வடிவமைக்கப்பட்டுள்ளது. நீங்கள் இதற்குப் புதியவராக இருந்தால், 'எழுத்து' ஒன்றைக் கண்டறிய இதைப் பயன்படுத்தி முடிக்கலாம். ஆனால் அது நோக்கத்தை நிறைவேற்றாது. இந்தக் கட்டுரையில், java.lang.String.contains() எவ்வாறு பயன்படுத்தப்படுகிறது, செயல்படுத்தப்படுகிறது மற்றும் கவனமாகப் பயன்படுத்தாவிட்டால் என்ன விதிவிலக்குகள் ஏற்படலாம் என்பதைப் பற்றி பேசுவோம் .
உள்ளடக்கிய () முறை என்ன?
ஒரு குறிப்பிட்ட சரத்திற்குள் ஒரு குறிப்பிட்ட சரம் " விசை " உள்ளதா இல்லையா என்பதை " கண்டுபிடிக்க " நீங்கள் கொண்டிருக்கும்(ஸ்ட்ரிங் கீ) முறையைப் பயன்படுத்தலாம் . "விசை" கண்டுபிடிக்கப்பட்டால், "உண்மை" திரும்பும். இல்லையெனில், நீங்கள் "பொய்" பெறுவீர்கள்.உள் செயல்படுத்தல்
இந்த முறை ஏற்கனவே java.lang.String ஆல் செயல்படுத்தப்பட்டது . இதை நீங்களே செயல்படுத்த வேண்டியதில்லை. உங்கள் புரிதலுக்காக இங்கே ஒரு விரைவான விளக்கம் உள்ளது.
public class ContainsMethod
{
public boolean contains(CharSequence key)
{
return indexOf(key.toString()) > -1;
}
}
குறியீடு விளக்கம்
() முறையைக் கொண்டுள்ளது , சார்சீக்வென்ஸை உள்ளீட்டு அளவுருவாக எடுத்துக்கொள்கிறது. இது பின்னர் "சரம்" ஆக மாற்றப்பட்டது. பின்னர் இந்த வெளிப்பாடு கணக்கிடப்படுகிறது 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 ஏனெனில் case-sensitive input.contains(fox) = true input.contains(xof) = false // false ஏனெனில் வரிசை ஒரே உள்ளீடாக இருக்க வேண்டும்.contains(dog) = true input.contains(lazyy) = false // false, ஏனெனில் முழு சப்ஸ்ட்ரிங்கும் கிடைக்கவில்லை input.contains(jumping) = false
குறியீடு விளக்கம்
உள்ளீட்டு அளவுருக்களுக்கு இந்த முறை கேஸ்-சென்சிடிவ் என்பதை நினைவில் கொள்ளவும் . எனவே மேலே உள்ள துணுக்கில், நீங்கள் "பழுப்பு" என்று தேடும்போது உண்மை திரும்பியதையும், "பிரவுன்" என்பதற்கு தவறானது திரும்புவதையும் நீங்கள் அவதானிக்கலாம் . மேலும், நீங்கள் "நரி" மற்றும் "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