কিভাবে রূপান্তর করতে Stringকরতে CharSequenceজাভা?
Exception groovy.lang.MissingMethodException: No signature of method: static java.util.regex.Pattern.matcher() is applicable for argument types: (java.lang.String)
কিভাবে রূপান্তর করতে Stringকরতে CharSequenceজাভা?
Exception groovy.lang.MissingMethodException: No signature of method: static java.util.regex.Pattern.matcher() is applicable for argument types: (java.lang.String)
উত্তর:
যেহেতু String is-একজন CharSequence , আপনি একটি পাস করতে পারেন Stringযেখানে আপনি একটি প্রয়োজন CharSequence, অথবা একটি দায়িত্ব অর্পণ Stringএকটি থেকে CharSequence:
CharSequence cs = "string";
String s = cs.toString();
foo(s); // prints "string"
public void foo(CharSequence cs) {
System.out.println(cs);
}
আপনি যদি একটি রূপান্তর করতে চান CharSequenceএকটি থেকে Stringশুধু ব্যবহার toStringপদ্ধতি যা প্রতিটি কংক্রিট বাস্তবায়নের দ্বারা প্রয়োগ করা আবশ্যক CharSequence।
আশা করি এটা সাহায্য করবে.
CharSequenceএকটি থেকে Stringএকটি সুনির্দিষ্ট ঢালাই ছাড়া।
Stringএকটি থেকে CharSequence।
CharSequence। এটি কেবল Stringএকটি CharSequenceভেরিয়েবলের একটি উদাহরণ নির্ধারণ করে এবং যেহেতু ইন্টারফেসটি Stringপ্রয়োগ CharSequenceকরে কোডটি কাজ করে।
সোজা উত্তর:
String s = "Hello World!";
// String => CharSequence conversion:
CharSequence cs = s; // String is already a CharSequence
CharSequenceএকটি ইন্টারফেস, এবং Stringশ্রেণি প্রয়োগসমূহ CharSequence।
চারসেকেন্স একটি ইন্টারফেস এবং স্ট্রিংবিল্ডার, স্ট্রিংবফার এবং অন্যান্য অনেকগুলি ছাড়া স্ট্রিং এর বাস্তবায়নগুলির মধ্যে একটি।
সুতরাং, আপনি যেমন ব্যবহার করেন তেমনি আপনি বা সহজভাবে InterfaceName i = new ItsImplementation()ব্যবহার করতে পারেনCharSequence cs = new String("string")CharSequence cs = "string";
তুমি ব্যবহার করতে পার
CharSequence[] cs = String[] {"String to CharSequence"};
আমার নিজের সমস্যা পোস্ট করে ওপির প্রশ্নের কিছু (সম্ভাব্য) প্রসঙ্গ সরবরাহ করার চেষ্টা করা হচ্ছে। আমি Scala মধ্যে কাজ করছি, কিন্তু ত্রুটি বার্তা আমি সব রেফারেন্স জাভা ধরনের পেয়ে করছি, এবং ত্রুটি বার্তা কম্পাইলার মত অনেক অভিযোগ যে CharSequence হয় সার্চ না একটি পংক্তি। আমি উত্স কোডে নিশ্চিত করেছি যে স্ট্রিং চারসেকেন্স ইন্টারফেসটি প্রয়োগ করে, তবে ত্রুটি বার্তাটি সমস্যার আসল উত্সটি লুকিয়ে রেখে স্ট্রিং এবং চারসেকেন্সের মধ্যে পার্থক্যের দিকে দৃষ্টি আকর্ষণ করে:
scala> cols
res8: Iterable[String] = List(Item, a, b)
scala> val header = String.join(",", cols)
<console>:13: error: overloaded method value join with alternatives:
(x$1: CharSequence,x$2: java.lang.Iterable[_ <: CharSequence])String <and>
(x$1: CharSequence,x$2: CharSequence*)String
cannot be applied to (String, Iterable[String])
val header = String.join(",", cols)
আমি বুঝতে পারলাম যে সমস্যাটি স্ট্রিং / চারসেকেন্স নয়, বরং জাভা.এলএং.এরেটেবল এবং স্কেলার বিল্ট-ইন ইটারেবলের মধ্যে একটি মিল নয় the
scala> val header = String.join(",", coll: _*)
header: String = Item,a,b
আমার বিশেষ সমস্যাটি স্কালায় উত্তরের মাধ্যমেও সমাধান করা যেতে পারে : একটি পুনরাবৃত্ত স্ট্রিংগুলিতে যোগ দিন
সংক্ষেপে, ওপি এবং অন্যান্য যারা একই ধরণের সমস্যার মুখোমুখি হয় তাদের ত্রুটি বার্তাগুলিকে খুব কাছ থেকে পার্স করা উচিত এবং অন্যান্য ধরণের রূপান্তরগুলিতে কীভাবে জড়িত থাকতে পারে তা দেখতে হবে।