আমার একটি চরের অ্যারে রয়েছে:
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
আমার বর্তমান সমাধানটি হ'ল
String b = new String(a);
তবে অবশ্যই এটি করার আরও ভাল উপায় আছে?
আমার একটি চরের অ্যারে রয়েছে:
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
আমার বর্তমান সমাধানটি হ'ল
String b = new String(a);
তবে অবশ্যই এটি করার আরও ভাল উপায় আছে?
উত্তর:
না, সমাধানটি একেবারে সঠিক এবং খুব ন্যূনতম।
তবে খেয়াল করুন, এটি একটি অত্যন্ত অস্বাভাবিক পরিস্থিতি: কারণ String
জাভাতে বিশেষভাবে পরিচালিত হয়, এমনকি "foo"
এটি আসলে একটি String
। সুতরাং স্ট্রিংকে আলাদা আলাদা করে বিভক্ত করার জন্য char
এবং তাদের সাথে ফিরে যোগদানের প্রয়োজন সাধারণ কোডে প্রয়োজন হয় না।
এটি সি / সি ++ এর সাথে তুলনা করুন যেখানে "foo"
আপনার char
একপাশে এবং অন্যদিকে শূন্য বাইট দ্বারা সমাপ্ত একটি বান্ডিল রয়েছে string
এবং তাদের মধ্যে অনেকগুলি রূপান্তর কারণ উত্তরাধিকার পদ্ধতিগুলি করে।
String text = String.copyValueOf(data);
অথবা
String text = String.valueOf(data);
তর্কসাপেক্ষে ভাল ( new String
কল encapsulates )।
String(char[])
বা এটির একটি বৈকল্পিক। এবং কপি অংশটি ভিতরে করা হয় String(char[])
। এটি অন্যান্য valueOf
পদ্ধতির সাথে প্রতিসাম্য ছাড়াও সরাসরি কল করার কোনও সুবিধা দেয় না ।
String
পরিবর্তন হবে এবং / অথবা একটি বেমানান উপায়ে বর্ধিত করা হবে বা বেশ কয়েকটি প্রতিযোগিতামূলক বাস্তবায়ন রানটাইমের সময় বেছে নেওয়া যেতে পারে, তবে স্থিতিশীল কারখানা পদ্ধতিটি বোধগম্য হয়। এই যেমন একটি নিম্ন স্তরের জিনিস সঙ্গে ঘটবে না String
। অতএব আমার ভিত্তিটি হ'ল: সবচেয়ে ছোট হাতুড়িটি উপযুক্ত, সবচেয়ে বড়টি উপলভ্য নয় Use
CharSequence
ইন্টারফেস তৈরি করতে হয়েছিল তা দেখায় যে আপনার "স্ট্রিংয়ের মতো নিম্ন স্তরের স্টাফগুলির সাথে কী ঘটবে" তা কতটা ত্রুটিযুক্ত - তারা স্ট্রিংয়ে যা ঘটে তা পরিবর্তন করে না কারণ তারা প্রথম দিকে নিজের সাথে আবদ্ধ করে রেখেছিল এবং এখন তারা ইচ্ছা করে তাদের ছিল না।
String str = "wwwwww3333dfevvv";
char[] c = str.toCharArray();
চরিত্রের অ্যারেটিকে স্ট্রিংয়ে রূপান্তর করতে এখন দুটি উপায় রয়েছে।
Arrays.toString(c);
স্ট্রিংটি ফেরত দেয় [w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v]
।
এবং:
String.valueOf(c)
স্ট্রিংটি ফেরত দেয় wwwwww3333dfevvv
।
সংক্ষিপ্তসারে : মনোযোগ দিন Arrays.toString(c)
, কারণ আপনি "[w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v]"
পরিবর্তে পাবেন "wwwwww3333dfevvv"
।
জাভাতে একটি স্ট্রিং কেবল অক্ষরের অ্যারের চারপাশে একটি অবজেক্ট। অতএব ক
char[]
একই অক্ষরযুক্ত একটি আনবক্সড স্ট্রিংয়ের অনুরূপ। আপনার অক্ষরের অ্যারে থেকে একটি নতুন স্ট্রিং তৈরি করে
new String(char[])
আপনি মূলত আপনার অক্ষরের অ্যারের আশেপাশে একটি স্ট্রিং অবজেক্টটি অটোবক্সে সংকলককে বলছেন।
আপনি String.valueOf
পদ্ধতি ব্যবহার করতে পারেন ।
উদাহরণ স্বরূপ,
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
String b = String.valueOf(a);
System.out.println("Char Array back to String is: " + b);
চর অ্যারে আরও স্ট্রিংয়ের জন্য আপনি নীচের লিঙ্কগুলি উল্লেখ করতে পারেন
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html
https://www.flowerbrackets.com/convert-char-array-to-string-java/
package naresh.java;
public class TestDoubleString {
public static void main(String args[]){
String str="abbcccddef";
char charArray[]=str.toCharArray();
int len=charArray.length;
for(int i=0;i<len;i++){
//if i th one and i+1 th character are same then update the charArray
try{
if(charArray[i]==charArray[i+1]){
charArray[i]='0';
}}
catch(Exception e){
System.out.println("Exception");
}
}//finally printing final character string
for(int k=0;k<charArray.length;k++){
if(charArray[k]!='0'){
System.out.println(charArray[k]);
} }
}
}
//Given Character Array
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
//Converting Character Array to String using String funtion
System.out.println(String.valueOf(a));
//OUTPUT : hello world
জাভা 8 স্ট্রিম ফাংশন ব্যবহার করে যে কোনও প্রদত্ত অ্যারে প্রকার স্ট্রিংয়ে রূপান্তর করা
String stringValue =
Arrays.stream(new char[][]{a}).map(String::valueOf).collect(Collectors.joining());
এটা চেষ্টা কর
Arrays.toString(array)
কেবল নীচের মতো স্ট্রিং.ভ্যালু ব্যবহার করুন;
private static void h() {
String helloWorld = "helloWorld";
System.out.println(helloWorld);
char [] charArr = helloWorld.toCharArray();
System.out.println(String.valueOf(charArr));
}
এটা চেষ্টা কর:
CharSequence[] charArray = {"a","b","c"};
for (int i = 0; i < charArray.length; i++){
String str = charArray.toString().join("", charArray[i]);
System.out.print(str);
}
1 বিকল্প উপায় হ'ল:
String b = a + "";
toString
সঠিকভাবে কাজ করে char[]
। এটি জেভিএমের কিছু নির্দিষ্ট বিক্রেতাদের এবং সংস্করণগুলিতে কাজ করতে পারে।
a
স্ট্রিং () কল করে এবং অন্য স্ট্রিং অবজেক্ট তৈরি করা যা এর সাথে a.toString()
""