الوقت/التاريخ الآن هو الثلاثاء مارس 19, 2024 2:30 am
3 نتيجة بحث عن stringbuilder
[Java]الطرق المختلفة لتحويل أنواع المتغيرات Integer to String و العكس
أهلا بكمفى هذا المقال سنحاول شرح الطرق المختلفة للتحويل ما بين المتغيرات الرقمية من نوع #Integer الى متغيرات نصية #String
1_التحويل باستخدام تحويل باستخدام Integer.toString
تحتوي الفئة #Integer على أسلوب #toString الذى يقوم بإرجاع كائن سلسلة من #int ويتم كتابة الشفرة بالصيغة العامة التالية :
- الكود:
public static String toString(int i)
حيث يتم تحويل الوسيطة i وإرجاعها كمثيل سلسلة. إذا كان الرقم سالباً ، فسيتم حفظ العلامة.
مثال:
- الكود:
class GfG
{
public static void main(String args[])
{
int a = 1234;
int b = -1234;
String str1 = Integer.toString(a);
String str2 = Integer.toString(b);
System.out.println("String str1 = " + str1);
System.out.println("String str2 = " + str2);
}
}
المخرجات :
String str1 = 1234
String str2 = -1234
String str2 = -1234
2_ التحويل باستخدام String.valueOf
تحتوى الفئة #String على الاسلوب #valueOf الذى يقوم بتحويل #int الى #String بكل سهولة على النحو التالى :
- الكود:
class GfG
{
public static void main(String args[])
{
int c = 1234;
String str3 = String.valueOf(c);
System.out.println("String str3 = " + str3);
}
}
أو يمكنك تمرير الرقم int الى الاسلوب #valueOf كمعلة له على النحو التالى :
- الكود:
class GfG
{
public static void main(String args[])
{
String str3 = String.valueOf(1234);
System.out.println("String str3 = " + str3);
}
}
3_التحويل باستخدام Integer(int).toString
تستخدم هذه الطرق مثيل لفئة #Integer لاستدعاء طريقة #toString الخاصة بها ومن ثم استخدامها فى عملية التحويل على النحو التالى :
- الكود:
class GfG
{
public static void main(String args[])
{
int d = 1234;
Integer obj = new Integer(d);
String str4 = obj.toString();
System.out.println("String str4 = " + str4);
}
}
أو على النحو التالى :
- الكود:
class GfG
{
public static void main(String args[])
{
int d = 1234;
String str4 = new Integer(d).toString();
System.out.println("String str4 = " + str4);
}
}
أو على النحو التالى :
- الكود:
class GfG
{
public static void main(String args[])
{
String str4 = new Integer(1234).toString();
System.out.println("String str4 = " + str4);
}
}
4_تحويل باستخدام DecimalFormat
الفئة java.text.DecimalFormat هي فئة تقوم بتهيئة رقم إلى سلسلة....مثال:
- الكود:
import java.text.DecimalFormat;
class GfG
{
public static void main(String args[])
{
int e = 12345;
DecimalFormat df = new DecimalFormat("#");
String str5 = df.format(e);
System.out.println(str5);
}
}
أو يمكنك استخدامها على النحو التالى :
- الكود:
import java.text.DecimalFormat;
class GfG
{
public static void main(String args[])
{
int e = 12345;
DecimalFormat df = new DecimalFormat("#,###");
String Str5 = df.format(e);
System.out.println(Str5);
}
}
باستخدام هذه الطريقة ، يمكنك تحديد عدد المنازل العشرية وفواصل الفاصلة للقراءة.
المخرجات :
String str5 = 12,345
5_التحويل باستخدام الفئة StringBuffer
يمكنك استخدام الفئة #StringBuffer ايضا فى عملية التحويل و ذلك على النحو التالى :
- الكود:
class GfG
{
public static void main(String args[])
{
int f = 1234;
StringBuffer sb = new StringBuffer();
sb.append(f);
String str6 = sb.toString();
System.out.println("String str6 = " + str6);
}
}
أو على النحو التالى :
- الكود:
class GfG
{
public static void main(String args[])
{
String str6 = new StringBuffer().append(1234).toString();
System.out.println("String str6 = " + str6);
}
}
المخرجات :
String str6 = 1234
6_استخدام الفئة StringBuilder
ايضا يمكنك استخدام الفئة #StringBuilder لتحويل المتغيرات الرقمية الى سلسة نصية على النحو التالى :
- الكود:
class GfG
{
public static void main(String args[])
{
int g = 1234;
StringBuilder sb = new StringBuilder();
sb.append(g);
String str7 = sb.toString();
System.out.println("String str7 = " + str7);
}
}
أو على النحو التالى :
- الكود:
class GfG
{
public static void main(String args[])
{
String str7 = new StringBuilder().append(1234).toString();
System.out.println("String str7 = " + str7);
}
}
المخرجات :
String str7 = 1234
- في الجمعة فبراير 22, 2019 6:28 am
- ابحث في: أساسيات اللغة Java Basics
- موضوع: [Java]الطرق المختلفة لتحويل أنواع المتغيرات Integer to String و العكس
- المساهمات: 0
- مشاهدة: 860
[Java] الفرق بين StringBuffer و StringBuilder فى التعامل مع السلاسل النصية
اهلا بكمعلى الرغم من التشابة الكبير بين الفئة #StringBuffer و الفئة #StringBuilder فى التعامل مع السلاسل النصية فى الجافا الا ان هناك فروق جوهرية بينهما على النحو التالى :
1_الفئة #StringBuffer متزامنة synchronized وهذا يعني أنه اذا كان هناك أكثر من مسار thread لا يمكن استدعاء أساليب الفئة StringBuffer في وقت واحد ....فى حين أن الفئة #StringBuilder غير متزامنة non-synchronized و بالتالى فانة يمكن إنشاء اكثر من مسار thread لاستدعاء أساليب الفئة #StringBuilder في وقت واحد.
2_ الفئة #StringBuilder أكثر كفاءة فى التعامل مع السلاسل النصية من الفئة #StringBuffer.
أمثلة للتوضيح :
المثال التالى يوضح كفائة الفئتين فى التعامل مع السلاسل النصية حيث يقوم البرنامج بعمل حلقة تكرارية من 1 الى 10 الف دورة ومن ثم الحاق الكلمة Tpoint من خلال الاسلوب #append للفئة #StringBuffer و الفئة #StringBuilder ...ثم حساب الزمن المستغرق لكل فئة فى عملية الالحاق :
- الكود:
public class ConcatTest{
public static void main(String[] args){
long startTime = System.currentTimeMillis();
StringBuffer sb = new StringBuffer("Java");
for (int i=0; i<10000; i++){
sb.append("Tpoint");
}
System.out.println("Time taken by StringBuffer: " + (System.currentTimeMillis() - startTime) + "ms");
startTime = System.currentTimeMillis();
StringBuilder sb2 = new StringBuilder("Java");
for (int i=0; i<10000; i++){
sb2.append("Tpoint");
}
System.out.println("Time taken by StringBuilder: " + (System.currentTimeMillis() - startTime) + "ms");
}
}
المخرجات :
Time taken by StringBuffer: 16ms
Time taken by StringBuilder: 0ms
يلاحظ من عملية الاخراج أن الفئة #StringBuilder أكثر فلم تستغرق اى وقت يذكر لعملية الالحاق اعلا فى حين أن الفئة #StringBuffer أستغرقت حوالى 16 ميلى ثانية لنفس العملية
تحياتى
- في الخميس يناير 24, 2019 9:01 am
- ابحث في: أساسيات اللغة Java Basics
- موضوع: [Java] الفرق بين StringBuffer و StringBuilder فى التعامل مع السلاسل النصية
- المساهمات: 0
- مشاهدة: 1594
[Java] التعامل مع الفئة Java StringBuilder
أهلا بكم_الفئة Java StringBuilder
هى إحدى الفئات التى توفرها لغة الجافا منذ الاصدار JDK 1.5 للتعامل مع مع سلسلة نصية قابلة للتغيير و التعديل بطريقة حيوية من (إلحاق، وإدراج، وحذف وتعديل وغيرها) فهى تشبة الى حد كبير الفئة StringBuffer التى تحدثنا عليها فى مقال سابق وربما يكون الفرق الوحيد بينهما أن الفئة #StringBuilder متزامنة synchronized فى حين أن الفئة #StringBuffer غير متزامنة non-synchronized
_مشيدات الفئة StringBuilder
اهم ثلاث مشيدات الفئة #StringBuilder التى يمكن استخدامها لانشاء و التعامل مع النصوص من خلال تلك الفئة على النحو التالى :
1_المشيد الاول :
- الكود:
StringBuilder()
ينشىء مخزن مؤقت فارغ لسلسلة نصية مع السعة الأولية لـ 16حرف
2_ المشيد الثاني :
- الكود:
StringBuilder(String str)
ينشىء مخزن مؤقت لسلسلة نصية بقيمة السلسة المحددة
3_المشيد الثالث :
- الكود:
StringBuilder(int length)
ينشىء مخزن فارع مؤقت لسلسلة نصية مع السعة المحددة كطول
طرق و دوال الفئة StringBuilder
تحتوي الفئة #StringBuilder على العديد من الطرق و الدوال التى تساعدنا فى التعامل مع سلاسل البيانات من تعديل و تغير و الحاق و خلافة و ذلك على النحو التالى :
1_الطريقة #append
تقوم تلك الطريقة بإلحاق قيمة نصية الى المخزن الموقت #StringBuilder ....مثال : الحاق كلمة #java الى الكلمة #Hello على النحو التالى :
- الكود:
class StringBuilderExample{
public static void main(String args[]){
StringBuilder sb=new StringBuilder("Hello ");
sb.append("Java");
System.out.println(sb);
}
}
المخرجات :
Hello Java
2_ الطريقة #insert
تقوم تلك الطريقة بادراج قيمة نصية للمخزن الموقت StringBuilder#r مع تحديد موضع الادراج ... المثال التالى يوضح كيفية ادراج الكلمة #Java بعد الحرف الاول للقيمة المخزنة فى #StringBuilder :
- الكود:
class StringBuilderExample2{
public static void main(String args[]){
StringBuilder sb=new StringBuilder("Hello ");
sb.insert(1,"Java");
System.out.println(sb);
}
}
المخرجات :
HJavaello
3_الطريقة #replace
تقوم تلك الطريقة باستبدال القيمة النصية بالمخزن #StringBuilder بالقيمة الحالية او المعطاة اليها و يتم ذلك من ذلك تحديد موضع الاستبدال و عدد الاحرف التى سيتم اسبدالها من القيمة #StringBuilder ....المثال التالى يوضح الفكرة :
- الكود:
class StringBuilderExample3{
public static void main(String args[]){
StringBuilder sb=new StringBuilder("Hello");
sb.replace(1,3,"Java");
System.out.println(sb);
}
}
المخرجات :يمكنك ملاحظة أن عملية الاستبدال تمت بعد الحرف الاول وتم استبدال عدد 3 احرف من الكلمة الاصلية #Hello بالكلمة Java
HJavalo
4_الطريقة #delete
تقوم تلك الطريقة بحذف القيمة النصية بالمخزن #StringBuilder و يمكن تحديد موضع عملية الحذف وايضا عدد ما يتم حذفة ...المثال التالى يوضح الفكرة :
- الكود:
class StringBuilderExample4{
public static void main(String args[]){
StringBuilder sb=new StringBuilder("Hello");
sb.delete(1,3);
System.out.println(sb);
}
}
المخرجات :
Ho
5_ الطريقة #reverse
تقوم تلك الطريقة بعكس السلسة النصية الحالية المخزنة فى #StringBuilder ....مثال يوضح الفكرة
- الكود:
class StringBuilderExample5{
public static void main(String args[]){
StringBuilder sb=new StringBuilder("Hello");
sb.reverse();
System.out.println(sb);//prints olleH
}
}
المخرجات :
olleH
6_ الطريقة #capacity
تقوم تلك الطريقة بارجاع سعة المخزن #StringBuilder ...مثال توضيحيى :
- الكود:
class StringBuilderExample6{
public static void main(String args[]){
StringBuilder sb=new StringBuilder();
System.out.println(sb.capacity());//default 16
sb.append("Hello");
System.out.println(sb.capacity());//now 16
sb.append("java is my favourite language");
System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2
}
}
المخرجات :
16
16
34
7_ الطريقة #ensureCapacity
تضمن طريقة #ensureCapacity أن السعة المحددة هي الحد الأدنى للسعة الحالية. أما إذا كان أكبر من السعة الحالية ، فإنه يزيد السعة بواسطة (oldcapacity * 2) +2. على سبيل المثال ، إذا كانت سعتك الحالية 16 ، فسوف تكون (16 * 2) + 2 = 34.
- الكود:
class StringBuilderExample7{
public static void main(String args[]){
StringBuilder sb=new StringBuilder();
System.out.println(sb.capacity());//default 16
sb.append("Hello");
System.out.println(sb.capacity());//now 16
sb.append("java is my favourite language");
System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2
sb.ensureCapacity(10);//now no change
System.out.println(sb.capacity());//now 34
sb.ensureCapacity(50);//now (34*2)+2
System.out.println(sb.capacity());//now 70
}
}
تحياتى لك
- في الخميس يناير 24, 2019 8:21 am
- ابحث في: أساسيات اللغة Java Basics
- موضوع: [Java] التعامل مع الفئة Java StringBuilder
- المساهمات: 1
- مشاهدة: 939
أمس في 12:41 am من طرف marketing118
» شركة تنظيف ستائر بالرياض
الأحد مارس 17, 2024 10:46 pm من طرف moslema_r
» خيام ملكيه من الداخل
الأحد مارس 17, 2024 8:13 pm من طرف marketing118
» شركة نقل عفش بالطائف
الأحد مارس 17, 2024 6:34 pm من طرف marketing118
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد
» افضل معلم جبس بالرياض تركيب جبس بورد بالرياض 20% خصم اتصل الآن
الأحد مارس 17, 2024 1:09 pm من طرف رانيا حماد
» شراء اثاث مستعمل بالكويت بخصم 30%
الأحد مارس 17, 2024 12:54 pm من طرف رانيا حماد
» افضل فني كهربائي منازل بالرياض جودة 100% | اتصل الآن
الأحد مارس 17, 2024 12:36 pm من طرف رانيا حماد
» أفضل فني سباك بالرياض ممتاز بالرياض | اتصل الآن
الأحد مارس 17, 2024 12:25 pm من طرف رانيا حماد