@ এর সাথে সি # এর ভারব্যাটিম স্ট্রিংগুলির জাভা সমতুল্য


101

দ্রুত প্রশ্ন. জাভাতে স্ট্রিংগুলিতে প্রয়োগ করা @ এর সমতুল্য কি নেই:

উদাহরণস্বরূপ আমি @"c:\afolder\afile"সি # তে করতে পারি এবং এটি করার পরিবর্তে প্রসেসিং করার সময় এটি পালানোর অক্ষরগুলিকে উপেক্ষা করতে পারি "c:\\afolder\\aFile"। একটি জাভা সমতুল্য আছে?

হুমমম: স্ট্যাকওভারফ্লো আমার উপর পালাচ্ছে .. হ্যাঁ। দ্বিতীয় উদাহরণটি পড়তে হবে:

সি: (ডাবল-ব্যাকস্ল্যাশ) আফোল্ডার (ডাবল-ব্যাকস্ল্যাশ) এফাইল


4
সম্ভাব্য সদৃশ: stackoverflow.com/questions/2018556/...
codaddict

4
শিরোনাম স্পষ্ট করার স্বাধীনতা নিয়েছে যেহেতু @ভাষার কীওয়ার্ডগুলি সনাক্তকারী হিসাবেও ব্যবহার করতে পারে।
জোয়

@ ইউনিকর্নডিক্টিক্ট - হ্যাঁ আসলেই এটি একই প্রশ্ন। অনুসন্ধানের সময় দুঃখিতরা তা দেখতে পায় নি। @ জোহানেস - ভাল পদক্ষেপ .. ধন্যবাদ
সাইমন রিগবি

আপনি যদি উইন্ডোজে ঠিক এটি করতে চান, এবং আপনি উইন্ডোজ এক্সপি বা আরও নতুন ব্যবহার করেন (এবং আপনার উচিত!) তবে আপনি কেবল ফাইল ফাইল = নতুন ফাইল ("সি: / আফোল্ডার / আফাইল") করতে পারেন; অন্যদিকে, আপনি যদি আরও পোর্টেবল হতে চান তবে আপনার @Cerkins এর দুর্দান্ত উত্তরটি দেখতে হবে।
হাকন লাটভিট

দ্রষ্টব্য (জানুয়ারী 2018), কাঁচা স্ট্রিং লিটারেলগুলি জাভা (জেডিকে 10 বা তার বেশি) জন্য আসতে পারে: জাভাতে দেখুন, কোটগুলি এড়ানো ছাড়া স্ট্রিং আক্ষরিক লেখার কোনও উপায় আছে কি?
ভোনসি

উত্তর:


77

কোন । স্ট্রিং থেকে বেরিয়ে আসা / বহিরাগতকরণ করা আপনার একমাত্র পছন্দ।


8
আমি @ "স্ট্রিং" এবং $ "স্ট্রিং {i}" এর সাথে সি # 6 পছন্দ করি এবং জাভা এর চেয়ে খুব বেশি ফিউচার
গাইডো মোচা

5
সি # থেকে জাভাতে আসা প্রায়শই অনেক উপায়ে এক ধাপ নীচে চলে আসে
মাইককুলস

34

না, জাভাতে ভারব্যাটিম স্ট্রিং অক্ষর নেই ।

আপনি যে একটি জাভা মত (এবং জাভা ভার্চুয়াল মেশিনের ভিত্তিক) ভাষা চান করে অবশ্য আপনি তাকান করতে চাইবেন খাঁজকাটা যা হয়েছে স্ট্রিং আক্ষরিক বিভিন্ন ধরনের


প্রথম লিঙ্ক (ভার্বাটিম স্ট্রিং লিটারালস) "ভিজ্যুয়াল স্টুডিও 2003 অবসরপ্রাপ্ত প্রযুক্তিগত ডকুমেন্টেশন" groovy.codehaus.org
-র

4
@ স্পেস: বর্তমান "স্ট্রিং" নিবন্ধে আপডেট হয়েছে, এতে ভারব্যাটিম স্ট্রিং লিটারালগুলির একটি বিভাগ অন্তর্ভুক্ত রয়েছে। গ্রোভির লিঙ্কগুলিও আপডেট হয়েছে।
জন স্কিটি

16

কেন্ট এবং জোন যেমন বলেছে, তেমন কিছুই নেই।

আমি কেবল উল্লেখ করার জন্য উত্তর দিচ্ছি যে আপনার নির্দিষ্ট কেসটির জন্য থাকলেও সাধারণ ক্ষেত্রে এটি একটি খারাপ ধারণা হবে, একাধিক কর্মসূচী ধরে নিয়ে।

জাভা প্রোগ্রামগুলি কেবল উইন্ডোজের চেয়ে বেশি প্ল্যাটফর্মগুলিতে চালিত হয় এবং অন্যান্য প্ল্যাটফর্মগুলিতে আলাদা ফাইল ডিলিমিটার রয়েছে। সুতরাং পালিয়ে যাওয়া ব্যাকস্ল্যাশগুলি মোকাবেলা করার পরিবর্তে আপনার নির্দিষ্ট উদাহরণটি পরিচালনা করার সঠিক উপায় হ'ল ফাইল বিভাজক সম্পত্তি পেয়ে:


    String sep = System.getProperty("file.separator");
    String filename = ROOTDIR + sep + "folder" + sep + "afile";

যেখানে আপনি আলাদাভাবে কিছু নীতি অবলম্বন করে রুটডিআইআর তৈরি করেছেন - কেবল প্ল্যাটফর্মই নয়, আপনি চাইলে আপনার "আফাইল" প্রকৃত ফাইল সিস্টেমের মূলের তুলনায়, বা ব্যবহারকারীর হোম ডিরেক্টরিতে আপেক্ষিক হোক।

তবে অবশ্যই, ফাইল বিভাজক সম্পত্তি ব্যবহার করা আপনার প্রোগ্রামগুলিকে আরও ব্যাপকভাবে ব্যবহারযোগ্য করে তোলে। এটা কি আরও কাজ? হ্যাঁ. যেমন ওয়ান্ডা সাইকস বলেছেন, "তবে এটি মূল্যবান"।


4
হিয়া এবং ধন্যবাদ আমার ক্ষেত্রে এটির 'ফাইলনাম' অপ্রাসঙ্গিক। আমার সমস্ত কোড যা করছে তা একটি স্ট্রিং (বা চেষ্টা করে) নিচ্ছে এবং তা চালিয়ে যাচ্ছে। ওয়েব সার্ভিসে এটি পাঠানো ছাড়া আমি আসলে এটি দিয়ে কিছুই করি না। আমি জাভা থেকে এসি # ডাব্লুসিএফ পরিষেবাটি কল করার প্রতিক্রিয়া পরীক্ষা করছিলাম। আমি যখন কেবল একটি পরীক্ষার কোডিং করছিলাম তখন এই সীমাটি আবিষ্কার করেছি। আমি; স্ট্রিং সহ আসলে 'ফাইল ভিত্তিক কিছু' করছি না।
সাইমন রিগবি

4
ভার্জ্যাটিম স্ট্রিংগুলি রেজেক্স নিদর্শনগুলির জন্য দুর্দান্ত।
গর্ডন বিন

12

বর্তমানে এটি জাভাতে সমর্থিত নয় তবে ভবিষ্যতে মুক্তি পেতে পারে। জেপি 326 তৈরি হয়েছিল : 2018/01/23 এ কাঁচা স্ট্রিং লিটারালস

Https://bugs.openjdk.java.net/browse/JDK-8196004 এ অগ্রগতিটি দেখুন

সম্ভবত কোনও দিন আপনি এটিটি করতে সক্ষম হবেন:

`c:\afolder\afile`

আপডেট: জেডিপি জেডিকে থেকে নামার প্রস্তাব করেছে 12: 326: কাঁচা স্ট্রিং লিটারেলস (পূর্বরূপ) আপনি যুক্তিটি এখানে পড়তে পারেন: http://mail.openjdk.java.net/pipermail/jdk-dev/2018- ডিসেম্বার /002402.html

এবং আরও বিশদ এখানে https://bugs.openjdk.java.net/browse/JDK-8215682

নীচের লাইন : অদূর ভবিষ্যতে জাভাতে ভারব্যাটিম স্ট্রিং থাকবে না। এমনকি এটি প্রদর্শিত হলেও এটি `` হবে না `


4
এটি এই বিষয়টির মধ্যে অন্যতম জনপ্রিয় আলোচনার বিষয় হিসাবে, জেইপি 326 প্রত্যাহার করা হয়েছে। আলোচনাটি 2019 সালের জানুয়ারিতে পুনরায় শুরু হয়েছিল এবং এখন JDK13 প্রকাশের জন্য JEP 355 তে ট্র্যাক করা হয়েছে ।
এনপ্রেস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.