مشخصات مقاله
-
0
-
0.0
-
12356
-
0
-
0
آموزش Java-رشته ها در جاوا
رشته ها که به طور گسترده ای در برنامه نویسی جاوا استفاده می شوند، دنباله ای از کاراکترها هستند. در زبان برنامه نویسی جاوا، رشته ها آبجکت هایی می باشند.
سکوی جاوا یک گروه String برای ایجاد و اجرای رشته ها ارائه می دهد.
ایجاد رشته ها:
ساده ترین راه برای ایجاد یک رشته نوشتن خط زیر می باشد:
String greeting = "Hello world!";
هر وقت با یک رشته ی لیترال در کد شما روبرو می شود، کامپایلر یک آبجکت String با مقدار آن ، در این مورد "Hello world!'، ایجاد می کند.
همانند هر آبجکت دیگری شما می توانید با استفاده از کلمه ی کلیدی جدید و یک سازنده، آبجکت های String ایجاد کنید. گروه String دارای یازده سازنده می باشد که به شما اجازه ی ارائه ی مقدار اولیه ی رشته را با استفاده از منابع مختلف مانند یک ردف از کاراکترها، می دهد.
public class StringDemo{
public static void main(String args[]){
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println( helloString );
}
}
این برنامه نتیجه ی زیر را به دنبال خواهد داشت :
hello.
نکته: گروه String تغییرناپذیر می باشد، طوریکه وقتی یک آبجکت String ایجاد می کند، دیگر نمی تواند تغییر کند. اگر اعمال تغییرات به رشته هایی از کاراکترها ضروری باشد، باید از گروه های String Buffer & String Builder استفاده کنید.
طول رشته (String Length)
متودهایی که برای برقراری اطلاعات در مورد یک آبجکت استفاده می شوند، با عنوان متودهای accessor (جانبی) شناخته می شوند. یک متود accessor که می توانید با رشته استفاده کنید، یک متود length() می باشد که تعداد کاراکترهای موجود در یک آبجکت string را گزارش می دهد.
پس از اینکه دو خط زیر اجرا شدند، len برابر 17 است:
public class StringDemo {
public static void main(String args[]) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
System.out.println( "String Length is : " + len );
}
}
این مثال نتیجه ی زیر را به دنبال دارد:
String Length is : 17
به هم پیوستن رشته ها:
گروه String حاوی متودی برای به هم پیوستن دو رشته می باشد:
string1.concat(string2);
این خط رشته ی جدیدی را بازمی گرداند که رشته ی 1 با رشته ی 2 در انتها به آن افزوده می شود. می توانید از متود concat() با لیترال های رشته استفاده کنید، مانند زیر:
"Hello," + " world" + "!"
که نتیجه ی آن به شکل زیر می باشد:
"Hello, world!"
اجازه بدهید مثال زیر را مورد بررسی قرار دهیم:
public class StringDemo {
public static void main(String args[]) {
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
}
}
این مثال نیز نتیجه ی زیر را تولید می کند:
Dot saw I was Tod
ایجاد رشته های فرمت (Format String):
شما برای چاپ خروجی با اعداد قالب دار متودهای printf() وformat() را دارید. گروه String دارای یک متود سازگار، format() ، می باشد که به جای یک آبجکت PrintStream، یک آبجکت String را بازمی گرداند.
استفاده از متود استاتیک format()در String به شما اجازه ی ایجاد یک رشته ی قالب دار می دهد که می توانید مجددا مورد استفاده قرار دهید، که برخلاف یک وضعیت one-time print می باشد. برای مثال به جای:
System.out.printf("The value of the float variable is " +
"%f, while the value of the integer " +
"variable is %d, and the string " +
"is %s", floatVar, intVar, stringVar);
می توانید خطوط زیر را بنویسید:
String fs;
fs = String.format("The value of the float variable is " +
"%f, while the value of the integer " +
"variable is %d, and the string " +
"is %s", floatVar, intVar, stringVar);
System.out.println(fs);
متودهای String:
در اینجا لیست متودهایی را می بینید که توسط گروه String پشتیبانی می شوند.
|
SN |
Methods with Description |
|
1 |
char charAt(int index) |
|
2 |
int compareTo(Object o) این String را با یک Object دیگر مقایسه می کند. |
|
3 |
int compareTo(String anotherString) دو رشته را با هم مقایسه می کند. |
|
4 |
int compareToIgnoreCase(String str) دو رشته را با یکدیگر مقایسه کرده و تفاوت ها را نادیده می گیرد. |
|
5 |
String concat(String str) رشته ی مشخص شده را به انتهای این رشته ملحق می سازد. |
|
6 |
boolean contentEquals(StringBuffer sb) فقط و اگر فقط این String همان توالی کاراکترهای مشخص شده در StringBuffer باشد، true را گزارش می دهد. |
|
7 |
static String copyValueOf(char[] data) یک String که نشان دهنده ی توالی کاراکتر در ردیف مشخص شده است را گزارش می دهد. |
|
8 |
static String copyValueOf(char[] data, int offset, int count) یک String که نشان دهنده ی توالی کاراکتر در ردیف مشخص شده است را گزارش می دهد. |
|
9 |
boolean endsWith(String suffix) تست می کند اگر این رشته با پسوند مشخص شده به پایان می رسد. |
|
10 |
boolean equals(Object anObject) این رشته را با آبجکت مشخص شده مقایسه می کند. |
|
11 |
boolean equalsIgnoreCase(String anotherString) این String را با String دیگر مقایسه کرده و ملاحظات را نادیده می گیرد. |
|
12 |
byte getBytes() با استفاده از charset پیش فرض ، این String را در ترتیبی از بایت ها رمزگذاری می کند، و نتایج را در یک ردیف از بایت های جدید ذخیره می کند. |
|
13 |
byte[] getBytes(String charsetName با استفاده از charset نامگذاری شده، این String را در ترتیبی از بایت ها رمزگذاری می کند و نتیجه را در یک ردیف بایت جدید ذخیره می کند. |
|
14 |
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) کاراکترها را از این رشته به قسمت ردیف کاراکتر کپی می کند. |
|
15 |
int hashCode() یک کد hash برای این رشته گزارش می دهد. |
|
16 |
int indexOf(int ch) ایندکس را در داخل این رشته از اولین وقوع کاراکتر مشخص شده گزارش می دهد. |
|
17 |
int indexOf(int ch, int fromIndex) ایندکس را در داخل این رشته از اولین وقوع کاراکتر مشخص شده گزارش می دهد، در حالیکه جستجو را در ایندکس مشخص شده آغاز می کند. |
|
18 |
int indexOf(String str) ایندکس را در داخل این رشته از اولین وقوع رشته فرعی، گزارش می دهد. |
|
19 |
int indexOf(String str, int fromIndex) ایندکس را در داخل این رشته از اولین وقوع رشته فرعی، گزارش می دهد، در حالیکه از ایندکس مشخص شده آغاز می کند. |
|
20 |
String intern() یک نمایش استاندارد برای آبجکت string گزارش می دهد. |
|
21 |
int lastIndexOf(int ch) ایندکس را در داخل رشته از آخرین وقوع کاراکتر مشخص شده گزارش می دهد. |
|
22 |
int lastIndexOf(int ch, int fromIndex) ایندکس را در داخل رشته از آخرین وقوع کاراکتر مشخص شده گزارش می دهد، در حالیکه شرمع به سمت عقب را در فهرست تعیین شده جستجو می کند. |
|
23 |
int lastIndexOf(String str) ایندکس را در داخل این رشته از وقوع سمت راست رشته ی فرعی مشخص شده گزارش می دهد. |
|
24 |
int lastIndexOf(String str, int fromIndex) ایندکس را در داخل این رشته از آخرین وقوع رشته ی فرعی مشخص شده گزارش می دهد، در حالیکه در جستجوی سابقه از ایندکس خاص شروع می کند. |
|
25 |
int length() طول این رشته را گزارش می دهد. |
|
26 |
boolean matches(String regex) می گوید که آیا این رشته با عبارت ارائه شده هماهنگ می باشد یا نه. |
|
27 |
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) تساوی دو محدوده ی رشته را با یکدیگر تست می کند. |
|
28 |
boolean regionMatches(int toffset, String other, int ooffset, int len) تساوی دو محدوده ی رشته را با یکدیگر تست می کند. |
|
29 |
String replace(char oldChar, char newChar) یک رشته ی جدید را بازمی گرداند که نتیجه ی جایگزین کردن همه ی وقایع oldChar در این رشته با newChar می باشد. |
|
30 |
String replaceAll(String regex, String replacement هر رشته ی فرعی از این رشته را که با عبارت معمول ارائه شده هماهنگ است، با جایگزین ارائه شده عوض می کند. |
|
31 |
String replaceFirst(String regex, String replacement) جایگزین ارائه شده را به جای اولین رشته ی فرعی این رشته که با عبارت ارائه شده هماهنگ است، قرار می دهد. |
|
32 |
String[] split(String regex) این رشته را در اطراف هماهنگی های عبارت ارائه شده منشعب می کند. |
|
33 |
String[] split(String regex, int limit) این رشته را در اطراف هماهنگی های عبارت ارائه شده منشعب می کند. |
|
34 |
boolean startsWith(String prefix) شروع این رشته را با پیشوند مشخص شده بررسی می کند. |
|
35 |
boolean startsWith(String prefix, int toffset) شروع این رشته را با پیشوند مشخص شده که یک ایندکس خاص را شروع می کند، موزد بررسی قرار می دهد. |
|
36 |
CharSequence subSequence(int beginIndex, int endIndex) یک ترتیب جدید از کاراکترها گزارش می دهد که نتیجه ای از این توالی می باشد. |
|
37 |
String substring(int beginIndex) یک string جدید بازمی گرداند که یک زشته ی فرعی از این string می باشد. |
|
38 |
String substring(int beginIndex, int endIndex) یک string جدید بازمی گرداند که یک زشته ی فرعی از این string می باشد. |
|
39 |
char[] toCharArray() این string را به یک ردیف کاراکتر جدید تبدیل می کند. |
|
40 |
String toLowerCase() با استفاده از قانون پیش فرض داخلی، تمام کاراکترها را در این String به حرف کوچک تبدیل می کند. |
|
41 |
String toLowerCase(Locale locale) با استفاده از قانون پیش فرض داخلی، تمام کاراکترها را در این String به حرف کوچک تبدیل می کند. |
|
42 |
String toString() خود این آبجکت (که تقریبا یک رشته می باشد)، بازمی گردد. |
|
43 |
String toUpperCase() با استفاده از قانون پیش فرض داخلی، تمام کاراکترها را در این String به حرف بزرگ تبدیل می کند. |
|
44 |
String toUpperCase(Locale locale) با استفاده از قانون پیش فرض داخلی، تمام کاراکترها را در این String به حرف بزرگ تبدیل می کند. |
|
45 |
String trim() با حذف فضای خالی ابتدا و انتها، یک کپی از رشته را بازمی گرداند. |
|
46 |
static String valueOf(primitive data type x) رشته ی نشان دهنده ی نوع داده ی argument انتقال داده شده را بازمی گرداند. |