جلسه سیزدهم – کار با رشته (String)

String دنباله ای از کاراکترها می باشد برای مثال کلمه “Hello” رشته ای است که شامل ۵ کاراکتر می باشد. در جاوا رشته ها به صورت نمونه هایی از اشیاء هستند که از کلاس String ساخته میشوند. کلاس String حاوی چندین متد جهت انجام عملیات مختلف بر روی رشته ها است.

نحوه ایجاد String :
دو روش برای ایجاد رشته ها در جاوا وجود دارد
۱- روش اول به صورت تحت اللفظی یا String literal
۲- روش دوم استفاده از کلمه کلیدی New

روش اول :
در جاوا رشته می تواند به شکل زیر ایجاد شود:

String str1 = “Welcome”;
String str2 = “Welcome”;

مشکل این روش: رشته یک شی در جاوا است اما در مثال بالا ما از کلمه کلیدی New برای ایجاد رشته ها استفاده نکرده ایم در واقع کامپایلر این کار را انجام می دهد و شی را ایجاد کرده و مقدار رشته را درون آن قرار می دهد اما اگر شی در حافظه وجود داشته باشد مقدار جدید را در شی ای که در حافظه وجود داشته قرار می دهد این بدان معناست که برای دو نمونه رشته بالا str1 و str2 کامپایلر تنها یک نمونه ایجاد کرده
و مقدار “welcome” را درون آن قرار داده و همان شی را به هر دو اختصاص داده است به طور مثال اگر بخواهیم ۱۰ رشته با یک مقدار ایجاد نماییم کامپایلر تنها یک شی در حافظه ایجاد می نماید و ما بقی رشته ها به شی ایجاد شده اشاره می نمایند.
اگر بخواهیم ۲ شی با مقدار مشابه ایجاد نماییم باید از کلمه کلیدی New برای ایجاد رشته ها استفاده نماییم:

روش دوم :
در جاوا رشته می تواند به شکل زیر ایجاد شود:

String str1 = new String(“Welcome”);
String str2 = new String(“Welcome”);

برخی از مهم ترین متدهای String:

char charAt(int index)

این متد کاراکتر با اندیس داده شده را باز می گرداند.اندیس داده شده باید بین ۰ و طول رشته -۱ باشد.

int codePointAt(int index)

این متد همانند متد charAt می ماند با این تفاوت که یونیکد کاراکتر مشخص شده را باز می گرداند

void getChars(int srcBegin, int srcEnd, char[] dest, int destBegin)

کاراکترهای مشخص شده بین محدوده (srcBegin to srcEnd) را درون آزایه dest از کاراکتر destBegin به بعد کپی می کند .

boolean equals(Object obj)

دو رشته را با هم مقایسه می نماید در صورتی که دو رشته شبیه به هم باشند true باز میگرداند در غیر این صورت false.

boolean contentEquals(StringBuffer sb)

این متدیک رشته را با StringBuffer مقایسه می نماید.

boolean equalsIgnoreCase(String string)

این متد همانند متد equals عمل می کند با ابن تفاوت که جهت مقایسه رشته ها به حروف کوچک و بزرگ حساس نمی باشد.

int compareTo(String string)

این متد دو رشته را بر اساس یونیکد هر کاراکتر با هم مقایسه می نماید.

int compareToIgnoreCase(String string)

این متد همانند متد compareTo می ماند با این تفاوت که به حروف کوچک و بزرگ حساس نمی باشد.

boolean regionMatches(int srcoffset, String dest, int destoffset, int len)

بررسی این که دو رشته دارای فرمت یکسان هستند یا خیر.

boolean regionMatches(boolean ignoreCase, int srcoffset, String dest, int destoffset, int len)

همانند متد regionMatches می ماند با این تفاوت که شامل یک پارامتر اضافه برای حساس بودن به حروف کوچک و بزرگ می باشد.

boolean startsWith(String prefix, int offset)

بررسی اینکه آیا رشته بعد از مکانی که در پارامتر دوم داده شده با رشته داده شده در پارامتر او شروع شده است یا خیر.

boolean startsWith(String prefix)

بررسی اینکه آیا رشته با رشته داده شده String prefix شروع شده است یا خیر.

boolean endsWith(String suffix):

بررسی اینکه آیا رشته مورد نظر ما با رشته دریافتی در متد پایان یافته است یا خیر.

int indexOf(int ch):

برگرداندن اولین ایندکس در صورت برابری کاراکتر ورودی با کاراکترهای رشته موردنظر ما.

int indexOf(int ch, int fromIndex)

باز گرداندن اولین ایندکس بعد از ایندکس داده شده در پارامتر دوم در صورت برابری رشته ما با کاراکتر وارد شده در پارامتر اول.

int lastIndexOf(int ch)

بازگرداندن آخرین ایندکس در رشته که با کاراکتر ورودی برابر است.

int lastIndexOf(int ch, int fromIndex)

بازگرداندن آخرین ایندکس بعد از ایندکس داده شده در پارامتر دوم در رشته ما که با پارامتر اول برابر باشد.

int indexOf(String str)

بازگرداندن اولین ایندکس در رشته ما که با رشته ورودی برابر است.

int lastindexOf(String str)

بازگرداندن آخرین ایندکس در رشته ما که با رشته ورودی برابر است.

String substring(int beginIndex)

باز گرداندن یک زیر رشته از رشته ما که از مکان پارامتر داده شده شروع می شود.

String substring(int beginIndex, int endIndex)

باز گرداندن یک زیر رشته از مکان پارامتر اول تا مکان پارامتر دوم

String concat(String str)

الحاق دو رشته

String replace(char oldChar, char newChar)

جایگذاری رشته جدید به جای رشته قدیمی که هر دو رشته به صورت پارامتر به تابع داده شده است.

boolean contains(CharSequence s)

این متد چک می کند که رشته ما شامل رشته ورودی هست یا نه

String replaceFirst(String regex, String replacement)

جایگذاری رشته داده شده در پارامتر دوم به جای اولین زیر رشته ای که با فرمت داده شده در پارامتر اول همخوانی دارد.

String replaceAll(String regex, String replacement)

پارامتر دوم را در کل رشته جایگزین پارامتر اول می نماید.

String[] split(String regex)

تقسیم رشته به شکل آرایه ای از رشته ها ، که توسط پارامتر ورودی از هم جدا شده اند.

String toLowerCase(Locale locale)

تبدیل کاراکترهای رشته ما به حروف کوچک طبق فرمت تعیین شده در پارامتر ورودی

String toLowerCase()

تبدیل کاراکترهای رشته ما به حروف کوچک

String toUpperCase(Locale locale)

تبدیل کاراکترهای رشته ما به حروف بزرگ طبق فرمت تعیین شده در پارامتر ورودی

String toUpperCase()

تبدیل کاراکترهای رشته ما به حروف بزرگ

String trim()

برداشتن فضاهای خالی از اول و آخر رشته ما

char[] toCharArray()

تبدیل رشته به آرایه ای از کارکترها

static String copyValueOf(char[] data)

رشته ای را که نشان دهنده ترتیب کارکتری موجود در آرایه می باشد را باز می گرداند.

int length():

طول رشته را باز می گرداند.

boolean matches(String regex)

بررسی رشته ما با یک فرمت خاصی از رشته ها مانند فرمت کلی ایمیل




پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code