بهترین زبان برنامه نویسی برای مهاجرت؛ کدام زبان آینده شغلی بهتری دارد؟
برنامهنویسی در سالهای اخیر به یکی از مطمئنترین مسیرهای مهاجرت کاری تبدیل شده است. شرکتهای فناوری در کشورهای مختلف با …
کلاس String در جاوا
کلاس String در جاوا برای ایجاد و مدیریت دنبالهای از کاراکترها استفاده میشود و یکی از پرکاربردترین کلاسها در این زبان برنامهنویسی به شمار میرود. اشیاء کلاس String غیرقابل تغییر (immutable) هستند، به این معنا که پس از ایجاد نمیتوان مقدار آنها را تغییر داد.
غیرقابل تغییر بودن به این معنی است که وقتی یک شیء از نوع String ایجاد شد، نمیتوان مقدار آن را تغییر داد.
مثال:
public class Main {
public static void main(String[] args) {
String text = "hello";
text.charAt(0) = 'H'; // خطای زمان کامپایل
}
}
توضیح:
خط text.charAt(0) = 'H'; باعث خطای زمان کامپایل میشود، زیرا متد charAt(0) یک کاراکتر فقطخواندنی برمیگرداند و نمیتوان آن را به عنوان یک متغیر تغییر داد. در جاوا، String غیرقابل تغییر است و نمیتوان کاراکترهای آن را بهطور مستقیم ویرایش کرد.
به دلیل غیرقابل تغییر بودن، اشیاء String میتوانند بدون نیاز به همگامسازی توسط چند نخ (Thread) به صورت ایمن استفاده شوند.

کلاس String یک کلاس نهایی (final) از پیش تعریفشده در بسته java.lang است و متدهای متنوعی برای ایجاد، مدیریت و مقایسه رشتهها ارائه میدهد، مانند length(), charAt(), concat(), equals() و غیره.
مثال:
import java.io.*;
class GFG {
public static void main (String[] args) {
String str = "hello geeks";
System.out.println("طول رشته: " + str.length());
System.out.println("رشته با حروف بزرگ: " + str.toUpperCase());
}
}
خروجی:
Length of String-> 11
Changed String ->HELLO GEEKS
کلاس String در جاوا سه اینترفیس مهم را پیادهسازی میکند:
CharSequence: امکان دسترسی به کاراکترهای رشته با استفاده از متدهایی مانند charAt() و length() را فراهم میکند.
Comparable: امکان مقایسه دو رشته بهصورت لغتنامهای با متد compareTo() را فراهم میکند.
Serializable: اجازه میدهد که اشیاء رشته به یک جریان بایت تبدیل شوند.
در جاوا، سازندههای کلاس String برای ایجاد اشیاء جدید از منابع مختلفی مانند آرایههای کاراکتر، آرایههای بایت یا رشتههای دیگر استفاده میشوند. اگرچه معمولاً رشتهها با لیترالها ساخته میشوند، سازندهها کنترل بیشتری روی نحوه ایجاد رشتهها ارائه میدهند.
import java.io.*;
class Geeks {
public static void main(String[] args) {
// سازنده 1: ایجاد رشته با استفاده از کلمه کلیدی new
String str1 = new String("Hello Java");
System.out.println("رشته با new: " + str1);
// سازنده 2: ایجاد رشته از آرایه کاراکتر
char[] charArray = { 'J', 'A', 'V', 'A' };
String str2 = new String(charArray);
System.out.println("رشته از آرایه کاراکتر: " + str2);
// سازنده 3: ایجاد رشته از آرایه بایت
byte[] byteArray = { 72, 101, 108, 108, 111 };
String str3 = new String(byteArray);
System.out.println("رشته از آرایه بایت: " + str3);
}
}
خروجی:
String using literal: GeeksforGeeks
String using new keyword: Hello Java
String from char array: JAVA
String from byte array: Hello
| سازنده | توضیح |
|---|---|
String(byte[] byte_arr) |
ایجاد رشته جدید با دیکد کردن آرایه بایت با استفاده از مجموعه کاراکتر پیشفرض سیستم |
String(byte[] byte_arr, Charset char_set) |
ایجاد رشته جدید با دیکد کردن آرایه بایت با استفاده از مجموعه کاراکتر مشخص |
String(byte[] byte_arr, int start_index, int length) |
ایجاد رشته جدید از آرایه بایت با انتخاب تعداد مشخصی از کاراکترها از شاخص شروع |
String(byte[] byte_arr, int start_index, int length, Charset char_set) |
همانند مورد قبل، اما با استفاده از Charset مشخص |
String(char[] char_arr) |
ایجاد رشته جدید از آرایه کاراکتر داده شده |
String(char[] char_array, int start_index, int count) |
ایجاد رشته از آرایه کاراکتر، با انتخاب تعداد مشخصی کاراکتر از شاخص شروع |
String(int[] uni_code_points, int offset, int count) |
ایجاد رشته از آرایه نقاط یونیکد، با انتخاب تعداد مشخصی کاراکتر از شاخص شروع |
String(StringBuffer s_buffer) |
ایجاد رشته جدید از محتوای StringBuffer |
String(StringBuilder s_builder) |
ایجاد رشته جدید از محتوای StringBuilder |
نظرات 2
برای ارسال نظر وارد حساب کاربری شوید.
¶ برام جدید و مفید بود
برای ارسال نظر وارد حساب کاربری شوید.
¶ فقط بهنظرم یه اشاره کوتاه به تفاوت با StringBuilder/Buffer کار رو کاملتر میکرد.
برای ارسال نظر وارد حساب کاربری شوید.