আমি সি # এর সাথে খুব পরিচিত কিন্তু জাভাতে আরও কাজ শুরু করি। আমি জেনে প্রত্যাশা করলাম যে জাভাতে এনামগুলি মূলত সি # এর সমতুল্য ছিল তবে দৃশ্যত এটি তেমন নয়। প্রাথমিকভাবে আমি জানতে পেরেছিলাম যে জাভা এনামগুলিতে একাধিক উপাত্ত থাকতে পারে যা খুব সুবিধাজনক বলে মনে হয় ( http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html )। যাইহোক, তখন থেকে আমি অনেকগুলি বৈশিষ্ট্য হারিয়েছি যা সি # তে তুচ্ছ, যেমন একটি এনাম উপাদান সহজেই একটি নির্দিষ্ট মান নির্ধারণের ক্ষমতা এবং ফলস্বরূপ একটি শালীন পরিমাণের প্রচেষ্টা ছাড়াই একটি পূর্ণসংখ্যাকে একটি এনামে রূপান্তর করার ক্ষমতা ( অর্থ্যাৎ জাভা এনুমের সাথে মেলে পূর্ণসংখ্যার মান রূপান্তর করুন )।
সুতরাং আমার প্রশ্নটি হ'ল: গুচ্ছ পাবলিক স্ট্যাটিক চূড়ান্ত ক্ষেত্রগুলির সাথে একটি শ্রেণি জুড়ে জাভা এনামসের কোনও লাভ আছে কি? অথবা এটি কি আরও কমপ্যাক্ট সিনট্যাক্স সরবরাহ করে?
সম্পাদনা: আমাকে আরও পরিষ্কার করা যাক। একই ধরণের পাবলিক স্থিতিশীল চূড়ান্ত ক্ষেত্রগুলির একটি গুচ্ছ সহ একটি শ্রেণীর উপরে জাভা এনামদের কী লাভ ? উদাহরণস্বরূপ, প্রথম লিঙ্কে গ্রহগুলির উদাহরণে, এই সার্বজনীন ধ্রুবকগুলির সাথে কোনও শ্রেণীর উপরে এনামের সুবিধা কী:
public static final Planet MERCURY = new Planet(3.303e+23, 2.4397e6);
public static final Planet VENUS = new Planet(4.869e+24, 6.0518e6);
public static final Planet EARTH = new Planet(5.976e+24, 6.37814e6);
public static final Planet MARS = new Planet(6.421e+23, 3.3972e6);
public static final Planet JUPITER = new Planet(1.9e+27, 7.1492e7);
public static final Planet SATURN = new Planet(5.688e+26, 6.0268e7);
public static final Planet URANUS = new Planet(8.686e+25, 2.5559e7);
public static final Planet NEPTUNE = new Planet(1.024e+26, 2.4746e7);
যতদূর আমি বলতে পারি, ক্যাসাব্ল্যাঙ্কার উত্তরটি কেবল এটিই সন্তুষ্ট করে।
S
, সুতরাং এখন আমরা সম্ভবত সেগুলি ফাংশনগুলিতে প্রেরণের বিষয়ে কথা বলছি we আমাদের কি টাইপ-সাফটি দরকার ? ভাল, না, তবে বেশিরভাগ লোক সি-স্টাইলের ধরণের "সবকিছু void*
" একটি ভাল স্টাইল বিবেচনা করে এবং এটি বাগগুলি থামাতে পারে (বিশেষত যদি একাধিক এনাম / স্ট্রিং প্যারামিটার পাস করে!)। এছাড়াও এটি ধ্রুবকগুলিকে তাদের নিজের নাম ইত্যাদির মধ্যে রাখে that বিপরীতে, কেবল সরল ভেরিয়েবলগুলি পাওয়ার কোনও সত্যিকারের সুবিধা নেই।
int
গুলি, কোন প্রকার নিরাপত্তা কারণ এক কোনো মান পাস পারে। অন্যদিকে, টাইপযুক্ত বস্তুগুলি সুরক্ষা প্রকারের দিক থেকে এনাম থেকে আলাদা নয়।
public static final
ক্ষেত্রগুলিকেই উল্লেখ করেছে , যেগুলি মান টাইপ করা যেতে পারে এবং অগত্যা নয়int
।