كيفية استخدام الأدوية في العالم من الإصدارات جافا مختلطة؟

StackOverflow https://stackoverflow.com/questions/311599

سؤال

وأنا أحب الأدوية كثيرا واستخدامها أينما أستطيع. بين الحين والآخر ولست بحاجة لاستخدام واحد من دروسي في مشروع آخر التي لديها لتشغيل على JVM القديم (قبل 5.0)، يحتاج إلى تشغيل على JavaME (حيث لا يسمح الأدوية لا) أو في Microsoft J # (التي لديها فقراء VERY دعم الأدوية).

في هذه اللحظة، وأنا إزالة جميع الأدوية يدويا، مما يعني إدخال العديد يلقي كذلك.

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

وإذا لم يكن هناك مثل هذه الأداة، وإلا كيف يمكن يمكنني حل هذه المشكلة؟ يجب أن أتوقف تماما باستخدام الأدوية؟

وهناك بالفعل الأجوبة المتعلقة بايت كود compability . ماذا لو احتجت <م> شفرة المصدر compability لسبب ما؟

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

المحلول

وتحتاج إلى استخدام شيء مثل Retroweaver من أجل تحقيق هذا النوع من الشيء. الإجابات أخرى بشأن هذه المسألة هي مضللة بعض الشيء. الوراثة هي نوع من بايت كود متوافقة مع الإصدارات السابقة، ولكن ليس كليا (انظر java.lang.reflect.Type إذا كنت لا تصدقني). أيضا، هناك مشكلة السمة نسخة بايت كود، التي تمنع فئة جمعت ضد 1.5 من يعمل على الإصدار السابق. Retroweaver يعمل حول كل المشاكل في حين تمكن أيضا 5 ميزات أخرى مثل جافا الشروح وتتضمن التعدادات.

نصائح أخرى

في نتبيانس (لست متأكدا حول ما IDE الذي تستخدمه) يمكنك تعيين التوافق التعليمات البرمجية المصدر إلى إصدار مجموعة جافا - فقط تعيينها لأحد أن تدعم الأدوية. كما نشرت بالفعل، الوراثة هي المتوافقة معها بايت كود مع JVM القديم الإصدارات / JRE ولذلك يجب أن تعمل نأمل من خارج منطقة الجزاء.

لأفضل معرفتي جافا 5 غير <م> لا بايت رمز متوافق مع جافا 1.4. وهذا هو، لا يمكنك استخدام جافا 5 فصول جمعت مع VM في وقت سابق.

ويمكنك التحقق retroweaver. جاء ذلك كثيرا عندما تم إدخال الأدوية. وأنا شخصيا ليس لديهم خبرة معها.

هل طلبت جوجل؟ تحولت بحثي يصل http://www.publicobject.com/glazedlists/documentation/ Generics_and_Java_1.4_with_one_codebase.pdf ، والذي يبدو نهجا مثيرة جدا للاهتمام.

بايت كود لها متوافق، يجب أن يعمل من خارج منطقة الجزاء مع مترجم القديم.

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