কিভাবে রূপান্তর করতে 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
আমার বিশেষ সমস্যাটি স্কালায় উত্তরের মাধ্যমেও সমাধান করা যেতে পারে : একটি পুনরাবৃত্ত স্ট্রিংগুলিতে যোগ দিন
সংক্ষেপে, ওপি এবং অন্যান্য যারা একই ধরণের সমস্যার মুখোমুখি হয় তাদের ত্রুটি বার্তাগুলিকে খুব কাছ থেকে পার্স করা উচিত এবং অন্যান্য ধরণের রূপান্তরগুলিতে কীভাবে জড়িত থাকতে পারে তা দেখতে হবে।