Path.get বনাম Path.of


20

যতদূর আমি বলতে পারি, Paths.getএবং Path.ofঠিক একই জিনিসটি মনে হচ্ছে, এক বা একাধিক স্ট্রিংকে একটি Pathবস্তুতে পরিণত করা; ডকুমেন্টেশন https://docs.oracle.com/javase/8/docs/api/java/nio/file/Paths.html#get-java.lang.String-java.lang.String...- এবং https: //docs.oracle.com/en/java/javase/13/docs/api/java.base/java/nio/file/Path.html#of(java.lang.String,java.lang.String ... ) একই শব্দ ব্যবহার করুন। তারা আসলে কি অভিন্ন?

Path.ofপরে পরিচয় হয়েছিল। অনুমান: এটি একটি ধারাবাহিক Foo.ofশৈলীর জন্য উপস্থাপিত হয়েছিল । সেক্ষেত্রে, এটি ধারাবাহিকতা / নান্দনিক কারণে পছন্দনীয় বিবেচিত হবে?


5
আমি মনে করি তুমি সঠিক. জাভা আলোচনার তালিকাগুলি সম্পর্কে তাত্ক্ষণিক অনুসন্ধান এটি এনেছে: mail.openjdk.java.net/pipermail/nio-dev/2018-Mar/004810.html উত্তর লিখতে হলেও এখনও পড়ছি।
জোহানেস কুহান

2
আমি পছন্দ করি Path.ofকারণ এটির জন্য অতিরিক্ত আমদানির প্রয়োজন নেই
ZhekaKozlov

উত্তর:


22

আসলে, Path.ofপরে চালু হয়েছিল।

অনুমান: এটি একটি ধারাবাহিক Foo.ofশৈলীর জন্য উপস্থাপিত হয়েছিল ।

মেলিং তালিকা সংরক্ষণাগার থেকে, এই পদ্ধতিটি একবার বলা হয়েছিলPath.get :

প্রধান পরিবর্তনগুলি হল java.nio.file এর পথ এবং পাথ।

এই প্যাচটি পথ.সেট () এর পদ্ধতিগুলি প্যাথ.জেটে () স্ট্যাটিক পদ্ধতিতে অনুলিপি করে এবং পূর্ববর্তীটিকে পরবর্তী সম্পর্কিত পদ্ধতিগুলি কল করতে সংশোধন করে। পাথ বা নিজেই উল্লেখ না করার জন্য পাথ স্পেসিফিকেশনটি কিছুটা পরিষ্কার করা হয়েছে, যেমন, "(পাথ দেখুন)"। @ আইপিএলস্পেক টীকাগুলি পাথগুলিতে যুক্ত করা হয় যাতে নির্দেশিত হয় যে পদ্ধতিগুলি কেবল তাদের উপায়ে পাল্টা কল করে।
...

পরে এটি পরিবর্তন করা হয়েছিল যখন ব্রায়ান গোয়েট এটিকে সামঞ্জস্য করার পরামর্শ দিয়েছিলেনFoo.of :

পৃথকভাবে, ব্রায়ান গোয়েট অফ-লিস্টের পরামর্শ দিয়েছিলেন যে এই কারখানার পদ্ধতিগুলি "এর" নামকরণ করা হলে এটি আরও সুসংগত হবে সুতরাং আমি ধারণা করি যে ওয়েব্রেভ কীভাবে দেখায় তা আপডেট করা হবে।

এখন আপনার শেষ প্রশ্নের কাছে: "সেক্ষেত্রে এটি ধারাবাহিকতা / নান্দনিকতার ভিত্তিতে পছন্দনীয় বলে বিবেচিত হবে?"
ইন প্রাথমিক মেইল ব্রায়ান Burkhalter বলেছেন যে তিনি নতুন পদ্ধতি সব রেফারেন্স আপডেট Path:

জাভা.বেসে সমস্ত সোর্স ফাইলগুলি পাথস.গেট () কে Path.get () এ পরিবর্তন করতে এবং পাথের জন্য আমদানি সরিয়ে ফেলা হয়েছে। ...

সুতরাং আমি তাই উপসংহারে যা Path.ofসত্যই পছন্দসই Paths.get
প্রকৃতপক্ষে, আপনি জাভাডোকের Pathsজন্য জাভা 13 এর দিকে নজর দিলে আপনি এই নোটটি পাবেন:

এপিআই দ্রষ্টব্য : এই শ্রেণিতে সংজ্ঞায়িত পদ্ধতিগুলির পরিবর্তে পদ্ধতিগুলির মাধ্যমে
একটি পাওয়ার পরামর্শ দেওয়া হচ্ছে কারণ এই শ্রেণিটি ভবিষ্যতে প্রকাশে অবনমিত হতে পারে।PathPath.ofget


5
মনে রাখবেন যে এনআইওও 2 জাভা 7-এ চালু হয়েছিল যখন ইন্টারফেসে স্থির পদ্ধতিগুলি সম্ভব ছিল না। সুতরাং এটির জন্য একটি সহযোগী বর্গ প্রয়োজন Paths,। ইন্টারফেসের কারখানার পদ্ধতি ব্যবহার করে ধরণের সংখ্যা হ্রাস হয়, কোডটি মোকাবেলা করতে হয়। নামকরণের স্টাইলটি হ'ল আরেকটি বিষয় যা এই সুযোগ থাকায় এটি সংশোধিত হয়েছে।
হলগার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.