سؤال

  1. float ff = 1.2f;
  2. Float fo = new Float(1.2f);
  3. double fg = 3.2d;
  4. Double fh = new Double(2.1d);

هل يمكنني استخدام '=' بين (1) و (3) أو بين (2) و (4)??

هل كانت مفيدة؟

المحلول

نعم.

  1. يجعل القديم عادي نوع البيانات (ويعرف أيضا باسم نوع بدائي) يسمى "تعويم".
  2. يجعل كائن جافا دعا تعويم الذي يحمل تلك القيمة التي يحدث أن تكون متطابقة (1)

وردا على تحرير الأسئلة:

سوف ترى

  1. "خسارة ممكنة من الدقة" رسالة إذا كنت في محاولة ff = fg.
  2. "تتعارض أنواع" إذا كنت في محاولة fo = fh.
  3. fg = ff سوف تعمل بشكل جيد (تعويم يناسب مزدوجة).
  4. fh = fo سوف لا تزال تعطي لك "تتعارض أنواع".

نصائح أخرى

نعم 2 يخلق كائن.

نعم أول واحد هو نوع بدائي و الثاني هو الملاكمة الدرجة التي يلتف قدرات بدائية نوع تعويم, نحن بحاجة إلى الثاني على سبيل المثال للاستخدام في مجموعات.قبل أن يكون لديك للتعامل مع الكثير نوع التحويل (على ما أظن حتى جافا 1.5) الآن وجود مغلفة الطبقات يأخذ تلك القدرات.المزيد من المعلومات. هنا

نعم.أول التصريح عن متغير من نوع بدائي float و تهيئة إلى 1.2.

في حين أن الثاني التصريح عن متغير من نوع مرجع Float, بإنشاء كائن من نوع Float ثم قم بتعيين مرجع إلى متغير.

تعويم الجديد(1.2 و) يخلق جديد تطفو كائن في كل مرة ، تستهلك الذاكرة.

إذا كنت تستخدم طريقة مصنع تطفو.valueOf(1.2 f) JVM يجوز إعادة استخدام القائمة تطفو مثيلات الكائن بنفس القيمة.فإنه يمكن إنشاء مثيل كائن فقط إذا لم يكن هناك بالفعل تطفو سبيل المثال مع نفس القيمة.

عادة سوف تحتاج إلى استخدام تعويم.valueOf(1.2 و) بدلا من تعويم الجديد(1.2 f).

نلاحظ أيضا أن الأوليات و الأشياء تعمل بشكل مختلف مع تساوي المشغل ==.

float x1 = 1.2f;
float x2 = 1.2f;

x1 == x2  // true

Float f1 = new Float(1.2f);
Float f2 = new Float(1.2f);

f1 == f2 // false

نعم أنواع بدائية لا يمكن أن تكون فارغة ، يمكن للكائنات.أيضا تعويم كائن له مجموعة من أداة مفيدة الوظائف المرتبطة به.

  1. مع هذا الإعلان لديك نوع بدائي تعويم تعيين قيمة.نوع بدائي هو نوع البيانات التي تتألف من أي نوع البيانات الأخرى ولا يمكن تقسيم نعتمد عليك مرة أخرى(إلى تفسير ذلك ببساطة).بدائية عموما هو مدمج نوع.

  2. في هذه الحالة يجب إنشاء كائن داخليا وهو يتألف من أصغر أنواع البيانات و يحتوي أيضا على الطرق.

الفرق الرئيسي بين نوع بدائي تطفو وجوه النوع البدائي هو مجرد تنسيق البيانات لديها أي خصائص أو أساليب.

3=1 وسوف تعمل بشكل جيد ، لن تبقى.

في تطبيقات حقيقية أقترح عليك استخدام تعويم أو تطفو ليس دقيق جدا و تقريبا لا الحل الصحيح ، استخدام مزدوج أو مزدوجة بدلا من ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top