উত্তর:
এর toString()পদ্ধতিটি শুরু করে
এই ক্রম হিসাবে একই ক্রমে এই ক্রমের অক্ষরগুলি সমন্বিত একটি স্ট্রিং প্রদান করে। স্ট্রিংয়ের দৈর্ঘ্য এই ক্রমের দৈর্ঘ্য হবে।
এখানে একটি সূক্ষ্ম সমস্যা আছে যা কিছুটা গোটচা।
toString()পদ্ধতিতে একটি বেস বাস্তবায়ন হয়েছে Object। CharSequenceএকটি ইন্টারফেস; এবং যদিও toString()পদ্ধতিটি সেই ইন্টারফেসের অংশ হিসাবে উপস্থিত হয়, সংকলন-সময় এমন কোনও কিছুই নেই যা আপনাকে এটিকে ওভাররাইড করতে বাধ্য করবে এবং CharSequence toString()পদ্ধতির জাভাদোক পদ্ধতিটিতে যে অতিরিক্ত বাধা রেখেছিল তা সম্মান করবে toString(); অর্থাত্ এটির ক্রম অনুসারে অক্ষরগুলি সহ একটি স্ট্রিং প্রদান করা উচিতcharAt() ।
আপনার আইডিই এমনকি আপনাকে ওভাররাইড করা উচিত যে আপনাকে স্মরণ করিয়ে দিয়ে আপনাকে সাহায্য করতে পারে না toString()। উদাহরণস্বরূপ, ইন্টেলিজ-এ, আপনি যদি নতুন CharSequenceবাস্তবায়ন তৈরি করেন তবে এটি আপনি দেখতে পাবেন : http://puu.sh/2w1RJ । অনুপস্থিতি নোট করুনtoString() ।
আপনি উপর নির্ভর toString()একটি অবাধ উপর CharSequence, এটা করা উচিত নয় প্রদত্ত কাজ CharSequenceimplementer সঠিকভাবে তাদের কাজ করেনি। কিন্তু আপনি যদি কোন অনিশ্চয়তা পুরাপুরি এড়াতে চান, আপনি একটি ব্যবহার করা উচিত StringBuilderএবং append()তাই মত:
final StringBuilder sb = new StringBuilder(charSequence.length());
sb.append(charSequence);
return sb.toString();
CharSequenceইন্টারফেসটি স্পষ্টভাবে সংজ্ঞায়িত করে toString()- বাস্তবায়নকারী এটি মিস করবেন না। Javadoc যুক্তরাষ্ট্র "একটি স্ট্রিং এই ক্রম হিসাবে একই ক্রম এই ক্রমানুসারে অক্ষর ধারণকারী দেখায়। স্ট্রিং এর দৈর্ঘ্য এই ক্রম দৈর্ঘ্য হতে হবে" মধ্যে শুরু থেকেই 1.4 । লোকেরা, দয়া করে আপনি কী
StringBuilderকরা পাশাপাশি আপনি যা প্রত্যাশা করেছিলেন তা করতে ব্যর্থ হতে পারে। একইরকম অন্য কোনও ইন্টারফেসের ক্ষেত্রে যেমন, Listবা Setবিশেষত তাদের equals()এবং hashCode()পদ্ধতিগুলি যা ওভাররাইড ছাড়াই সংকলন করবে, কিন্তু চুক্তি অনুসারে ওভাররাইড করা আবশ্যক ।
আপনি সরাসরি স্ট্রিং.ভালিউওফ () ব্যবহার করতে পারেন
String.valueOf(charSequence)
যদিও এটি ঠিক একইভাবে toString()এটি charSequenceআসলে স্ট্রিং কল করার আগে একটি নাল চেক করে ।
এটি কার্যকর যখন কোনও পদ্ধতি কোনও মান charSequenceবা nullমান ফেরত দিতে পারে ।
charSequenceনাল হয় তবে ফেরত স্ট্রিংটি হবে "null"এবং না null।
setText(CharSequence)কি আপনার প্রয়োজন অনুযায়ী কাজ করে না?