الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

String variable

مغلق
بدأه yadoo86 في 1 أكتوبر 2005 · 12 رد · 831 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

سلام عليكم يا أخوان هذا منتدى رائع

كان لدي سؤال عن تعريف String :

أذا كانت لا يوجود في جافا keyword string فأن من طبعي أن يكون String هو كلاس وهو في java.lang و لكن سؤال هو لماذا عند تعريف String لا يحتاج الى كلمة new فقط ندخل القيمة كا أي variable أخر

String y = "7sam";

وليس هكذا

   String x = new String();
        x = "ٌRamy";

مع جزيل الشكر للجميع

تم تعديل هذه المشاركة بواسطة yadoo86 في 1 أكتوبر 2005 في 16:58

winter-main.jpg

6179.gif

#2

راجع الموضوع في مقارنة بين String وStringBuffer بقلم الأخ أبو مازن

/index.ph...ndpost&p=391542

بعد قراءة الشرح السابق أقول لك أن الفارق بين String وStringBuffer هو السبب في إمكانية كتابة

String str = "abc";

دون الحاجة لكتابة الكلمة new، ألا وهو أن من صفات الصف String أنه Immutable أي غير قابل للتعديل.

راجع أيضاً توثيق Java الخاص بـ Class String، وهذا مقطع منه:

Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings. Because String objects are immutable they can be shared. For example:      String str = "abc";
 is equivalent to:
      char data[] = {'a', 'b', 'c'};
     String str = new String(data);

تم تعديل هذه المشاركة بواسطة MMSs في 1 أكتوبر 2005 في 19:11

#3

مشكور الى أخ mms

أود توضيح نقطة الى أخ مشرف (سامي ) بنسبة الى موضوع فقد أستخدمت خاصية البحث و لكن لم أعرف أن هناك علاقة بسؤالي ب StringBuffer

مع شكر للجميع

winter-main.jpg

6179.gif

#4

هذه من خصائص المترجم اللغة للتسهيل،، ومن المفترض أن نكتب:

String word = new String ("yadoo");

لاحظ أنك تستطيع عمل هذا!!

http://java.sun.com/j2se/1.4.2/docs/api/ja...va.lang.String)

لكن هذه الطريقة ستنتج نسختين من الكلمة! هذا لأن المترجم يصنع كلمة كلما رأى علامتي التنصيص!!

.....

عموما أعتقد أن المترجم يأخذ الكلمات التي بين علامات التنصيص " " ويأخذ الأحرف ثم ينادي على هذا الصانع:

http://java.sun.com/j2se/1.4.2/docs/api/ja...tml#String(char[])

لاحظ أن علامتي التنصيص وظيفتها خاصة جدا للفئة String

وبعد القليل من التفكير... يفترض أن تكتب هكذا:

String word = new String (new char[] {'y', 'a' , 'd', 'o' , 'o'});

لكن الحمدالله المترجم ذكي ويوفر علينا كثيرا!!

تم تعديل هذه المشاركة بواسطة أبومازن في 2 أكتوبر 2005 في 03:20

#5

مين المشرف سامي؟؟

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#6

الشرف سامى اكيد بيكون اخوه للمشرف رامي

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#7

ههههههها

عذرا يا أخ رامي أقصدك أنت و كم رامي عدنا هو رامي واحد و داخل قلبنا و ين ما نروح

أخي العزيز أبو مازن

String word = new String ("yadoo");

أتقصد أن المترجم يكون النسخة الأول من

 String ("yadoo")

و نسخة ثانية من

 String word = مع المتكون الأول

مع جزيل شكر و تقدير

تم تعديل هذه المشاركة بواسطة yadoo86 في 2 أكتوبر 2005 في 12:12

winter-main.jpg

6179.gif

#8

نعم أعتقد هذا،،

String word = "Hussam";
String word2 = new String(word);

الآن أصبح لدينا كلمتان جديدتان.

#9

مشكور أخونا غالي أبو مازن

تعبناك معنا , و الله يوفقك

تم تعديل هذه المشاركة بواسطة yadoo86 في 2 أكتوبر 2005 في 12:11

winter-main.jpg

6179.gif

#10

طيب سؤال بسيط لشخص دخيل

هل يوجد في جافا شي اسمه string تختلف عن String يعني ليش جافا بس بتعرف String عم تبدا بحرف كبير

شكرا

#11

في سي شارب عندك String class و string primitive type. عندك نوعين!

أما في جافا فعندك String class فقط!

هل هذه الإجابة تكفي؟؟

كما تعلم الأنواع البسيطة هي: int, double, float, char, short, byte و غيرها،، سي شارب تضيف string،، وطبعا هذا يسرع من التعامل مع الكلمات!

وعندنا أنواع كبيرة مثل Integer, Double, Character, Float, Short, String وغيرهم!

التعامل مع الأنواع البسيطة تزيد من سرعة البرنامج.. وهذا ما يجعل كل من سي شارب وجافا لغات شيئية التوجه إلا في هذه الأنواع،، فهي ليست أشياء، بل هي أنواع بسيطة..

SmallTalk لغة برمجة شيئية التوجه تماما... ولا توجد أنواع بسيطة، بل كلها أشياء،، وهذا قد يكون من الأسباب في بطء اللغة مقارنة بصديقاتها!

#12

مشكور اخ ابو مازن

بس انا القصد انو ليش صن خلت String تنكتب و ما خلتها string

شو السبب

اكرر شكري

#13

الفئات سواء كانت في سي شارب أو جافا تبدأ بحرف كبير! و String عبارة عن فئة أو Class !! وليست نوع بسيط مثل string في سي شارب!

هذا الموضوع مغلق.

مواضيع مشابهة