CodeGym /جاوا بلاگ /Random-UR /جاوا سٹرنگز
John Squirrels
سطح
San Francisco

جاوا سٹرنگز

گروپ میں شائع ہوا۔

جاوا میں سٹرنگ کیا ہے؟

پروگرامنگ میں، تاریں بہت عام استعمال ہوتی ہیں۔ جاوا میں سٹرنگ ایک ایسی چیز ہے جو حروف کی ترتیب کی نمائندگی کرتی ہے جس کی حمایت ایک چار صف کے ذریعے ہوتی ہے۔ سٹرنگ کلاس جاوا میں ناقابل تغیر ہے اور Comparable ، Serializable ، اور CharSequence انٹرفیس کو لاگو کرتی ہے۔ آئیے سمجھنے کے لیے ایک مثال دیکھتے ہیں۔
String str = "string"
یہاں str 6 حروف کی ترتیب ہے جو s, t, r, i, n اور g ہیں۔
چار صف انڈیکس 0 1 2 3 4 5
قدر s t r میں n جی
میموری ایڈریس 0x12824 0x12825 0x12826 0x12827 0x12828 0x12829
جیسا کہ اب ہم جانتے ہیں کہ ارے ناقابل تغیر ہے، جس کا مطلب ہے کہ اسے ابتدا کے بعد تبدیل نہیں کیا جا سکتا، اس لیے سٹرنگ بھی ناقابل تغیر ہے۔

سٹرنگ شروع کرنے کے طریقے

سٹرنگ کو شروع کرنے کے دو طریقے ہیں۔
  1. سٹرنگ لٹریلز
  2. نیا آپریٹر

سٹرنگ لٹریل

سٹرنگ کا اعلان کرنے کا سب سے آسان اور سیدھا طریقہ اوپر دی گئی مثال میں استعمال کیا گیا ہے۔ جب بھی کمپائلر کسی سٹرنگ لٹریل کی تشریح کرتا ہے، تو اسے ہمیشہ String آبجیکٹ میں تبدیل کر دیا جاتا ہے۔
String str = "string";

نیا آپریٹر

ہم نئے آپریٹر کا استعمال کرکے ایک سٹرنگ بھی شروع کر سکتے ہیں۔
String strNew = new String("using new operator");

مثال

import java.io.*;
import java.lang.*;

class StringInitializationExample {
    public static void main(String[] args)
    {
        //declare java string with a string literal
        String str = "a string literal";

        System.out.println("String str = " + str);

        //declare string using new operator
        String strNew = new String("using new operator");

        System.out.println("String strNew = " + strNew);
    }
}

آؤٹ پٹ

String str = a string literal String strNew = نئے آپریٹر کا استعمال کرتے ہوئے

اسٹرنگ بمقابلہ اسٹرنگ بلڈر بمقابلہ اسٹرنگ بفر

ہم پہلے ہی اس بات پر بات کر چکے ہیں کہ String کلاس کیا ہے اس لیے ہم دیگر دو کلاسوں اور ان کے مقصد کے بارے میں بات کریں گے، اس وجہ کے ساتھ کہ جاوا نے ان دونوں کلاسوں کو کیوں متعارف کرایا جب اس کے پاس ہمارے لیے پہلے سے String کلاس موجود ہے۔ آپ کے لیے بہتر ہے کہ آپ سب سے اوپر جائیں اور اسٹرنگ کلاس کو بہتر طریقے سے سمجھنے کے لیے اس پر نظر ثانی کریں۔

وجہ

جیسا کہ ہم جانتے ہیں کہ سٹرنگ کلاس آبجیکٹ ناقابل تغیر ہے لہذا جب بھی ہمیں سٹرنگ کو تبدیل کرنے کی ضرورت ہوتی ہے تو یہ کبھی بھی موجودہ آبجیکٹ کو تبدیل نہیں کرتا لیکن تبدیل شدہ ویلیو کو ہمیشہ ایک نئے String آبجیکٹ کے طور پر محفوظ کیا جاتا ہے۔ لہذا اگر ہمیں قدر کو تبدیل کرنے کی ضرورت ہے، بار بار، یادداشت کو بھی استعمال کیا جائے گا۔ اس نکتے کو مدنظر رکھتے ہوئے جاوا نے ہمیں StringBuilder اور StringBuffer کلاسز فراہم کی ہیں ۔ اب ہم دیکھیں گے کہ وہ اس منظر نامے میں کیسے کارآمد ہیں۔

StringBuffer

String حروف کی ایک ناقابل تغیر ترتیب کی نمائندگی ہے لیکن StringBuffer حروف کی ایک تغیر پذیر ترتیب ہے ۔ یہ حروف کے مواد اور ترتیب کو تبدیل کرنے کے لیے اس کے اپنے کچھ کے ساتھ ساتھ اسٹرنگ کلاس کے زیادہ تر طریقے استعمال کرتا ہے۔ یہ تھریڈ سے محفوظ ہے کیونکہ اس کے طریقے سیریل آرڈر کو برقرار رکھتے ہوئے متعدد تھریڈز کے استعمال کے لیے ہم آہنگ ہوتے ہیں۔ یہ Serializable ، Appendable ، اور CharSequence انٹرفیس کو لاگو کرتا ہے۔

نحو

StringBuffer str = new StringBuffer("Happy Java Programming");

StringBuilder

StringBuilder حروف کی تغیر پذیر ترتیب کی بھی نمائندگی کرتا ہے۔ یہ ایک API فراہم کرتا ہے، جو StringBuffer کلاس کے ساتھ مطابقت رکھتا ہے لیکن یہ تھریڈ سے محفوظ نہیں ہے۔ لہذا جہاں ایک سے زیادہ تھریڈز شامل نہیں ہیں، بہتر ہے کہ StringBuilder کلاس کے ساتھ چلیں کیونکہ یہ بہت سے معاملات میں StringBuffer کلاس سے تیز ہے۔ اس کلاس کے اہم طریقے داخل اور ضمیمہ ہیں۔ یہ Serializable ، Appendable ، اور CharSequence انٹرفیس کو بھی لاگو کرتا ہے۔

نحو

StringBuilder str = new StringBuilder("Happy Java Programming");

سٹرنگ آپریشنز

جاوا میں ہم سٹرنگ آپریشنز انجام دے سکتے ہیں جیسے Concatenation ، Comparing ، Splitting ، Finding Length ، Replaceing Strings وغیرہ۔

سٹرنگ کے طریقے

جاوا سٹرنگ کلاس سٹرنگ کو جوڑ توڑ یا اوپر زیر بحث آپریشنز کو انجام دینے کے لیے مختلف طریقے مہیا کرتی ہے۔ آئیے ان سٹرنگ طریقوں میں سے کچھ کے لیے نیچے دیے گئے جدول پر ایک نظر ڈالتے ہیں۔
طریقے تفصیل
چار چاراٹ (انٹ انڈیکس) یہ فراہم کردہ انڈیکس پر چار قدر واپس کرتا ہے۔
String concat (String str) یہ اس سٹرنگ کے آخر میں ایک مخصوص سٹرنگ کو ملا کر ایک سٹرنگ لوٹاتا ہے۔
بولین پر مشتمل ہے (CharSequence s) اگر سٹرنگ میں چار اقدار کی ایک مخصوص ترتیب ہو تو یہ درست ہو جاتا ہے۔
boolean contentEquals(CharSequence cs) یہ فراہم کردہ چار ترتیب کے ساتھ سٹرنگ سے میل کھاتا ہے۔
بولین مواد برابر (StringBuffer sb) یہ فراہم کردہ سٹرنگ بفر کے ساتھ سٹرنگ سے میل کھاتا ہے۔
boolean endsWith(سٹرنگ لاحقہ) یہ فراہم کردہ لاحقہ کے ساتھ سٹرنگ اینڈ کا موازنہ کرتا ہے۔
بولین برابر (آبجیکٹ اور آبجیکٹ) یہ فراہم کردہ آبجیکٹ کے ساتھ سٹرنگ سے میل کھاتا ہے۔
بولین مساوی IgnoreCase(String otherString) یہ طریقہ کیس کی حساسیت کو مدنظر رکھے بغیر دو تاروں کا موازنہ کرتا ہے۔
جامد سٹرنگ فارمیٹ (سٹرنگ فارمیٹ، آبجیکٹ… آرگس) یہ فراہم کردہ فارمیٹ اور دلائل کا استعمال کرکے فارمیٹ شدہ سٹرنگ واپس کرتا ہے۔
بائٹ getBytes() یہ طریقہ سٹرنگ کو بائٹس کی ترتیب میں انکوڈنگ کرنے کے لیے پلیٹ فارم کے ڈیفالٹ چارسیٹ کا استعمال کرتا ہے، جسے پھر ایک نئی بائٹ سرنی میں محفوظ کیا جاتا ہے۔
void getChars (int start، int end، char[] dst، int dstBegin) یہ سٹرنگ سے کریکٹرز کو ڈیسٹینیشن کریکٹر اری میں کاپی کرتا ہے۔
int ہیش کوڈ() یہ سٹرنگ کے لیے ہیش کوڈ واپس کرتا ہے۔
int indexOf(int ch) یہ مخصوص کریکٹر کے لیے انڈیکس لوٹاتا ہے جو سٹرنگ سے پہلے ہوتا ہے۔
int indexOf(int ch، int fromIndex) یہ مخصوص کریکٹر کے لیے انڈیکس لوٹاتا ہے جو پہلے اس سٹرنگ میں فراہم کردہ انڈیکس سے شروع ہوتا ہے۔
int indexOf(String str) یہ سٹرنگ میں فراہم کردہ ذیلی اسٹرنگ کو تلاش کرتا ہے اور پہلی صورت میں انڈیکس لوٹاتا ہے۔
int indexOf(String str، int fromIndex) یہ دیئے گئے انڈیکس سے سٹرنگ میں فراہم کردہ ذیلی اسٹرنگ کو تلاش کرنا شروع کرتا ہے اور پہلی صورت میں انڈیکس واپس کرتا ہے۔
سٹرنگ انٹرن() یہ طریقہ سٹرنگ کی کیننیکل نمائندگی لوٹاتا ہے۔
int lastIndexOf(int ch) یہ طریقہ سٹرنگ میں فراہم کردہ کردار کو تلاش کرتا ہے اور آخری واقعہ کا اشاریہ لوٹاتا ہے۔
int lastIndexOf(int ch، int fromIndex) یہ طریقہ سٹرنگ میں فراہم کردہ کریکٹر کے لیے دیے گئے انڈیکس سے پیچھے کی طرف تلاش کرتا ہے اور آخری وقوع کا انڈیکس لوٹاتا ہے۔
int lastIndexOf(String str) یہ طریقہ سٹرنگ میں فراہم کردہ ذیلی اسٹرنگ کو تلاش کرتا ہے اور آخری واقعہ کا اشاریہ لوٹاتا ہے۔
int lastIndexOf(String str، int fromIndex) یہ طریقہ سٹرنگ میں فراہم کردہ سبسٹرنگ کے لیے دیے گئے انڈیکس سے پیچھے کی طرف تلاش کرتا ہے اور آخری وقوع کا انڈیکس لوٹاتا ہے۔
int لمبائی() یہ طریقہ تار کی لمبائی لوٹاتا ہے۔
بولین میچز (سٹرنگ ریجیکس) یہ فراہم کردہ ریگولر ایکسپریشن کے ساتھ سٹرنگ کو ملا کر صحیح یا غلط لوٹاتا ہے۔
اسٹرنگ کو تبدیل کریں (چار اولڈ ویلیو، چار نیو ویلیو) یہ طریقہ تمام فراہم کردہ پرانی ویلیو کو سٹرنگ میں نئی ​​ویلیو سے تبدیل کرنے کے بعد ایک سٹرنگ لوٹاتا ہے۔
String[] تقسیم (String regex) یہ طریقہ سٹرنگ میں فراہم کردہ ریگولر ایکسپریشن کے مطابق تمام میچوں کو تلاش کرتا ہے اور اسے ان میچوں کے ارد گرد تقسیم کرتا ہے۔
boolean startsWith(سٹرنگ کا سابقہ) یہ فراہم کردہ سابقہ ​​کے ساتھ سٹرنگ اسٹارٹ کی جانچ کرکے صحیح یا غلط لوٹاتا ہے۔
سٹرنگ سبسٹرنگ (int beginIndex) یہ طریقہ ایک سٹرنگ لوٹاتا ہے جو اس سٹرنگ کا سبسٹرنگ ہے۔
سٹرنگ ٹو لوئر کیس() یہ پہلے سے طے شدہ لوکل کے قواعد کا استعمال کرتے ہوئے سٹرنگ کے تمام حروف کو چھوٹے حروف میں تبدیل کرتا ہے۔
سٹرنگ ٹرم() یہ طریقہ سٹرنگ سے تمام معروف اور پچھلی خالی جگہوں کو ہٹاتا ہے اور اسے واپس کرتا ہے۔
جامد سٹرنگ ویلیو آف (چار سی) یہ چار دلیل کی سٹرنگ نمائندگی لوٹاتا ہے۔
اب چند مثالوں کی مدد سے ہم دیکھیں گے کہ ان کو کیسے استعمال کیا جائے۔

مثال

import java.io.*;
import java.lang.*;

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

    //create a string
    String greeting = "Hello! World";
    System.out.println("String: " + greeting);

    //getting the length of greeting object
    int length = greeting.length();
    System.out.println("Length: " + length);

    //create first string
    String first = "Java ";
    System.out.println("First String: " + first);

    //create second string
    String second = "Programming";
    System.out.println("Second String: " + second);

    //joining two strings
    String joinedString = first.concat(second);
    System.out.println("Joined String: " + joinedString);

    String jpf = "Java programming";
    String jps = "Java programming";
    String jpt = "Python programming";

    //compare jpf and jps strings
    boolean result1 = jpf.equals(jps);
    System.out.println("Strings jpf and jps are equal: " + result1);

    //compare jpf and jpt strings
    boolean result2 = jpf.equals(jpt);
    System.out.println("Strings jpf and jpt are equal: " + result2);

    //converting jpf to uppercase
    System.out.println("Upper case jpf: " + jpf.toUpperCase());

    //replacing g character with v in jpf
    System.out.println("Replacing g with v in jpf: "+jpf.replace("g", "v"));
  }
}

آؤٹ پٹ

جملہ: ہیلو! عالمی لمبائی: 12 پہلی سٹرنگ: جاوا سیکنڈ سٹرنگ: پروگرامنگ جوائنڈ سٹرنگ: جاوا پروگرامنگ سٹرنگز jpf اور jps برابر ہیں: true Strings jpf اور jpt برابر ہیں: false اپر کیس jpf: JAVA PROGRAMMING jpf میں v کے ساتھ جی کی جگہ لے رہا ہے: java provrammin

نتیجہ

ہم امید کرتے ہیں کہ اب تک آپ سمجھ گئے ہوں گے کہ جاوا میں سٹرنگز کیا ہیں، اس کی کلاسز اور اس کے مختلف طریقوں کو کیسے نافذ کیا جائے۔ مشق کرنے کے لیے آزاد محسوس کریں اور جب بھی آپ کو مزید مدد کی ضرورت ہو واپس آجائیں۔ خوش تعلیم!
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION