আমি কীভাবে ইনট থেকে স্ট্রিংয়ে রূপান্তর করব?


745

আমি এমন একটি প্রকল্পে কাজ করছি যেখানে সমস্ত রূপান্তর থেকে নেওয়া intহয়String এইভাবে হয়:

int i = 5;
String strI = "" + i;

আমি জাভার সাথে পরিচিত নই।

আমার ধারণা হিসাবে এটি কি এই স্বাভাবিক অনুশীলন বা কিছু ভুল?


47
"নিরীহ, সহজ" উপায় স্ট্রিং = "" + + পূর্ণসংখ্যা;
ফ্যাটি 20'14

1
সুন্দর দস্তাবেজ: [ javarevisited.blogspot.de/2011/08/… উদাহরণ
নারায়ণ যেরবাবাচ

2
আমি কেবল বোঝাতে চেয়েছি, এটি করার একটি "দ্রুত, সহজ" উপায়। এটি কিছুটা নির্বোধ কিন্তু এটি কাজ করে!
ফ্যাটি

1
আমার এক সহকর্মী করেছেন Integer.valueOf(i).toString()। তিনি অবশ্যই বস্তুর প্রতি অনুরাগী হয়েছিলেন। যদিও এটি তার উদ্দেশ্যটি খুব স্পষ্টভাবে জানিয়েছে, এটি আমার স্বাদের জন্য কিছুটা দীর্ঘ।
ওলে ভিভি

5
এটি করার জন্য আপনার কেবল 45 লাইন কোডের প্রয়োজন, এবং 7 টি ইন্টারফেস প্রয়োগ করা উচিত।
স্কা

উত্তর:


958

সাধারণ উপায় হতে পারে Integer.toString(i)বা String.valueOf(i)

উপসংহারটি কাজ করবে, তবে এটি প্রচলিত নয় এবং এটি দুর্গন্ধযুক্ত হতে পারে কারণ এটি সুপারিশ করে যে লেখক উপরোক্ত দুটি পদ্ধতি সম্পর্কে জানেন না (তারা কী কী জানেন না?)।

স্ট্রিংয়ের সাথে ব্যবহার করার সময় জাভা + অপারেটরের জন্য বিশেষ সমর্থন করে ( ডকুমেন্টেশন দেখুন ) যা আপনার পোস্ট করা কোডটি অনুবাদ করে:

StringBuilder sb = new StringBuilder();
sb.append("");
sb.append(i);
String strI = sb.toString();

সংকলন সময়ে। এটি সামান্য কম দক্ষ ( sb.append()কলিং শেষ হয় Integer.getChars(), যা এটি Integer.toString()যাইহোক যা করত) তবে এটি কার্যকর works

গ্রোড্রিগেজের মন্তব্যের জবাব দিতে: ** না, সংকলক এই ক্ষেত্রে খালি স্ট্রিংটিকে অপ্টিমাইজ করে না - দেখুন:

simon@lucifer:~$ cat TestClass.java
public class TestClass {
  public static void main(String[] args) {
    int i = 5;
    String strI = "" + i;
  }
}
simon@lucifer:~$ javac TestClass.java && javap -c TestClass
Compiled from "TestClass.java"
public class TestClass extends java.lang.Object{
public TestClass();
  Code:
   0:    aload_0
   1:    invokespecial    #1; //Method java/lang/Object."<init>":()V
   4:    return

public static void main(java.lang.String[]);
  Code:
   0:    iconst_5
   1:    istore_1

স্ট্রিংবিল্ডার শুরু করুন:

   2:    new    #2; //class java/lang/StringBuilder
   5:    dup
   6:    invokespecial    #3; //Method java/lang/StringBuilder."<init>":()V

খালি স্ট্রিং যুক্ত করুন:

   9:    ldc    #4; //String
   11:    invokevirtual    #5; //Method java/lang/StringBuilder.append:
(Ljava/lang/String;)Ljava/lang/StringBuilder;

পূর্ণসংখ্যা যোগ করুন:

   14:    iload_1
   15:    invokevirtual    #6; //Method java/lang/StringBuilder.append:
(I)Ljava/lang/StringBuilder;

চূড়ান্ত স্ট্রিং এক্সট্রাক্ট:

   18:    invokevirtual    #7; //Method java/lang/StringBuilder.toString:
()Ljava/lang/String;
   21:    astore_2
   22:    return
}

আছে একটি প্রস্তাব এবং চলমান কাজ এই আচরণ, JDK 9 টার্গেট পরিবর্তন।


9
jvm এ জিট সংকলক সম্পর্কে কি? :-) জাভ্যাক কোনও অভিনব অপ্টিমাইজেশন করে না।
পিটার btibraný

5
কে জানে :) জ্যাভাক এই ধরণের অভিব্যক্তিগুলি অনুকূল করে যখন সংখ্যার অক্ষর ব্যবহৃত হয়, যদিও (যেমন: "" + 5হয়ে যায় "5")।
সাইমনজে

5
হ্যাঁ, তবে কেন আপনি ন্যায়বিচারের "" + 5বদলে করবেন "5"?
গ্রুনডোন্ডোলা

3
নিস! তারা কি না জানে আরও
Sнаđошƒаӽ

2
"" + integerপদ্ধতির মধ্যে ব্যবহার করা হয় সরকারী ওরাকল টিউটোরিয়াল এক
টমাসজ নোকোń

252

এটি গ্রহণযোগ্য, তবে আমি এর মতো কিছুই লিখিনি। আমি এটি পছন্দ করতাম:

String strI = Integer.toString(i);

101
আমি স্ট্রিং.ভ্যালুও অফ পদ্ধতির পছন্দ করি, কারণ আপনি যে কোনও ধরণের জন্য একই কলটি ব্যবহার করতে পারেন।
জন স্কিটি

1
NumberFormatter একটি উন্নততর পদ্ধতির হবে
কস্ত্তরী

একটি ভাল উত্তর, কস্তুরি। আমি এটিকে মন্তব্য করার চেয়ে বেশি কিছু পোস্ট করব।
duffymo

2
আমার অজ্ঞতার জন্য দুঃখিত, তবে এটি কি বর্তমান সংস্কৃতিটি ব্যবহার করবে না? আমি একটি নেট নেট ব্যাকগ্রাউন্ড বিটিডাব্লু ফর্ম আসছি।
Г И І И О

3
একটি পূর্ণসংখ্যার জন্য, কোনও সংস্কৃতি-নির্দিষ্ট স্টাফ ডিফল্টরূপে ব্যবহৃত হচ্ছে না (কোনও দশমিক বা হাজার হাজার বিভাজক মোটেই নেই)। এটা কি NumberFormatterজন্য। আপনি পছন্দ মত ফর্ম্যাট ব্যবহার করতে পারেন NumberFormat.getInstance(Locale.FRENCH)
কেট

111

এটি একটি ভাল উপায় নয়।

ইনট থেকে স্ট্রিংয়ে রূপান্তর করার সময়, এটি ব্যবহার করা উচিত:

int i = 5;
String strI = String.valueOf(i);

7
1. আপনি খালি স্ট্রিং জন্য জিজ্ঞাসা; ২. আপনি মনগড়া জিজ্ঞাসা করুন; ৩. যেহেতু আপনার কাছে স্ট্রিং নেই, আপনি অবশেষে আপনার int কে স্ট্রিংয়ে রূপান্তর করবেন। দারিদুর সমাধান প্রথম পদক্ষেপ এড়ান।
নিকোলাস

নেই int iএকটি থেকে boxed পেতে Integerযোগ করা হচ্ছে আগে String strI?
কেভিন মেরেডিথ

1
@ কেভিনমারডেথ, না, তা হয় না। আপনি আসলে কল করবেন StringBuilder.append(int)(এবং সমস্ত আদিম ধরণের জন্য StringBuilderএকটি appendপদ্ধতি রয়েছে )।
ক্যাট

60

এটি কেবল অপটিমাইজেশন 1 নয় । আমি পছন্দ করি না

"" + i

এটা প্রকাশ করার না কারণ একটা কাজ যা আমি করতে চাই 2

আমি কোনও (খালি) স্ট্রিংয়ের সাথে কোনও পূর্ণসংখ্যা যুক্ত করতে চাই না। আমি একটি পূর্ণসংখ্যাকে স্ট্রিংয়ে রূপান্তর করতে চাই:

Integer.toString(i)

বা, আমার পছন্দসই নয়, তবে কনক্যাটেনশনের চেয়ে আরও ভাল, কোনও বস্তুর (পূর্ণসংখ্যা) স্ট্রিং উপস্থাপনা পান:

String.valueOf(i)

1. লুপগুলির মতো, যা প্রায়শই বলা হয় এমন কোডের জন্য, অনুকূলতা নিশ্চিত হওয়াও কনকেন্টেশন ব্যবহার না করার জন্য একটি বিষয়

২. এটি প্রকৃত সংমিশ্রণের মতো বা ব্যবহারের জন্য বৈধ নয়System.out.println("Index: " + i); String id = "ID" + i;


3
এই প্রসঙ্গে অভিনয়ের বিষয়ে কথা বলার লোকেরা একটি বিভ্রান্তি। সুদূর, সুদূর, সুদূরপ্রসারী, অনেক দূরের, অনেক বেশি গুরুত্বপূর্ণ পঠনযোগ্যতা
ব্রায়ান গয়েটজ

23

প্রচুর প্রবর্তনীয় বিশ্ববিদ্যালয় কোর্স দুটি কারণেই (আমার অভিজ্ঞতায়) এই স্টাইলটি শেখায় বলে মনে হচ্ছে:

  • এটির জন্য শ্রেণি বা পদ্ধতি বোঝার দরকার নেই। সাধারণত, "শ্রেণি" শব্দের উল্লেখ না হওয়ার আগেই এটি শেখানো হয় - এমনকি পদ্ধতি কলগুলিও নয়। সুতরাং মত কিছু ব্যবহার String.valueOf(…)শিক্ষার্থীদের বিভ্রান্ত করবে।

  • এটি "অপারেটর ওভারলোডিং" এর একটি চিত্র - বাস্তবে, এটি আমাদের কাছে আইডেমোমেটিক ওভারলোডেড অপারেটর হিসাবে বিক্রি হয়েছিল (জাভা কাস্টম অপারেটরকে ওভারলোডিং অনুমোদন দেয় না)

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


2
আমি মনে করি যে "" এর মতো বিপরীত নির্মাণগুলি আমি নবাবীকে বিভ্রান্ত করব। এবং এটি তাদের বাকী জীবনগুলির জন্য একটি খারাপ স্টাইল।
কনস্টান্টিন জিউবিন

15

এখনও বিক্রয়ের জন্য

"" + i

থেকে বিশালাকার স্ট্রিং রূপান্তর এর iরানটাইম এ। প্রকাশের সামগ্রিক ধরণটি হ'ল Stringiপ্রথমে কোনও Integerবস্তুতে রূপান্তরিত হয় ( new Integer(i)), তারপরে String.valueOf(Object obj)তাকে বলা হয়। সুতরাং এটি সমতুল্য

"" + String.valueOf(new Integer(i));

স্পষ্টতই, এটি কল করার চেয়ে কিছুটা কম পারফরম্যান্ট String.valueOf(new Integer(i))যা খুব একই ফলাফল তৈরি করবে।

এর সুবিধা ""+iহ'ল টাইপ করা সহজ / দ্রুত এবং কিছু লোক মনে করতে পারে যে এটি পড়া সহজ। এটি কোনও কোডের গন্ধ নয় কারণ এটি কোনও গভীর সমস্যা নির্দেশ করে না।

(তথ্যসূত্র: জেএলএস 15.8.1 )


3
আপনার "সমতুল্য" বিবৃতি সমতুল্য নয়। String.valueOfপ্রয়োজনীয় বক্সিং কল করার পরেও i(এটি গ্রহণ করে না, কারণ এটি একটি ওভারলোড রয়েছে যা গ্রহণ করে int), এটি ব্যবহার করবে না new Integer(i), এটি ব্যবহার করবে Integer.valueOf(i)। তবে এটি সত্যিই এর কোনও কাজ করে না। এটি new StringBuilder().append("").append(i).toString()সিমোনজে উত্তর নোট হিসাবে। আদিম কোন স্ট্রিংয়ে রূপান্তরিত করার জন্য স্ট্রিংবিল্ডারের নিজস্ব যুক্তি রয়েছে i
মার্ক পিটারস

4
কোড গন্ধ সম্পর্কে অংশ ঠিক যদিও; কোড গন্ধ এখানে ভুল শব্দ। সুতরাং আমি ডাউনটা কেটে ফেলব।
মার্ক পিটারস

এটি "+ i দিয়ে অকার্যকর বলে মনে হচ্ছে। কেবল সহজ পূর্ণসংখ্যার। টু স্ট্রিং বা স্ট্রিং.ভ্যালুওফের প্রস্তাব দেওয়া হয়। Javadevnotes.com/java-integer-to-string-
উদাহরণ

14

ব্যক্তিগতভাবে, আমি এই কোডটিতে খারাপ কিছু দেখছি না।

আপনি যখন কোনও মান মান লগ করতে চান এটি বেশ কার্যকর এবং লগার কেবল একটি স্ট্রিং গ্রহণ করে। আমি বলব যে কোনও স্ট্রিং গ্রহণযোগ্য পদ্ধতিতে আপনাকে কল করার প্রয়োজন হলে এই জাতীয় রূপান্তরটি সুবিধাজনক। তবে আপনার কোনও মান আছে।

Integer.toStringবা এর মধ্যে বাছাইয়ের জন্য String.valueOfএটি সমস্ত স্বাদের বিষয়।
... এবং অভ্যন্তরীণভাবে, পদ্ধতিগুলি String.valueOfকল করে Integer.toString। :)


12

Integerক্লাস থেকে অন্য যেভাবে আমি সচেতন তা হ'ল :

Integer.toString(int n);
Integer.toString(int n, int radix);

একটি দৃ concrete় উদাহরণ (যদিও আমি আপনার কোনও প্রয়োজন মনে করি না):

String five = Integer.toString(5); // returns "5"

এটি অন্যান্য আদিম ধরণের ক্ষেত্রেও উদাহরণস্বরূপ কাজ করে Double.toString

আরও বিশদ জন্য এখানে দেখুন।


9

এই কৌশলটি আমি এক দশক আগে স্নাতক স্তরের পরিচিতি-জাভা ক্লাসে শিখিয়েছিলাম। যাইহোক, আমার মনে রাখা উচিত, আইআইআরসি, আমরা এখনও স্ট্রিং এবং পূর্ণসংখ্যা শ্রেণীর পদ্ধতিতে পৌঁছতে পারি নি।

কৌশলটি সহজ এবং টাইপ করা দ্রুত। যদি আমি যা কিছু করছি কিছু মুদ্রণ করা হয়, আমি এটি ব্যবহার করব (উদাহরণস্বরূপ,System.out.println("" + i); তবে আমি মনে করি এটি রূপান্তরকরণের পক্ষে সবচেয়ে ভাল উপায় নয়, কারণ এটি কীভাবে ব্যবহৃত হচ্ছে তা অনুধাবন করতে এক মুহুর্তের সময় লাগে এছাড়াও, যদি পারফরম্যান্সটি উদ্বেগজনক হয় তবে এটি ধীর মনে হয় (আরও নীচে, পাশাপাশি অন্যান্য উত্তরে)।

ব্যক্তিগতভাবে, আমি ইন্টিজার.টোস্ট্রিং () পছন্দ করি, কারণ যা ঘটছে তা স্পষ্ট। স্ট্রিং.ভেলুওফ () আমার দ্বিতীয় পছন্দ হবে, কারণ এটি বিভ্রান্তিকর বলে মনে হচ্ছে (ডারিওর উত্তরের পরে মন্তব্যগুলি প্রত্যক্ষ করুন)।

কেবল গ্রিনের জন্য :) আমি তিনটি কৌশল পরীক্ষা করার জন্য ক্লাস লিখেছিলাম: "" + i, Integer.toString, এবং String.ValueOf। প্রতিটি পরীক্ষা স্রেফ 1 থেকে 10000 স্ট্রিংগুলিতে রূপান্তর করে। আমি তখন প্রতিটি লিনাক্স টাইম কমান্ডের মাধ্যমে পাঁচবার দৌড়েছি । ইন্টিজার.টোস্ট্রিং () একবার স্ট্রিং.ভালিউওফ () এর চেয়ে কিছুটা দ্রুত ছিল, তারা তিনবার বেঁধেছিল, এবং স্ট্রিং.ভালিউওফ () একবারে দ্রুত ছিল; তবে, পার্থক্যটি কখনও কখনও কয়েক মিলি সেকেন্ডের চেয়ে বেশি ছিল না।

"" + আই কৌশলটি টেস্টের উভয়টির চেয়ে দুটি ছাড়া ধীর ছিল, যখন এটি ইন্টিজার.টোস্ট্রিং () এর চেয়ে 1 মিলি সেকেন্ড দ্রুত এবং স্ট্রিং.ভেলুওফ () এর চেয়ে 1 মিলিসেকেন্ড ধীর ছিল (স্পষ্টত একই টেস্টে যেখানে স্ট্রিং.ভালিউঅফ () Integer.toString () এর চেয়ে দ্রুত ছিল। যদিও এটি সাধারণত কয়েক মিলি সেকেন্ড ধীর ছিল, সেখানে একটি পরীক্ষা ছিল যেখানে এটি প্রায় 50 মিলিসেকেন্ড স্লো ছিল। YMMV


1
জেআইটি আমলে নিতে ভুলবেন না - প্রথম কয়েকটি রূপান্তরগুলি অনেক ধীর হবে এবং সময়গুলি বিকৃত করবে। আমার ম্যাকবুকে কনটেন্টেশনটি অন্যান্য দুটি পদ্ধতির চেয়ে (যা উভয় রূপান্তর অনুসারে ~ 50ns নেয়) ~ 20ns বেশি সময় নেয়, সুতরাং আপনি এমএসের ক্রমে যে পার্থক্যগুলি দেখেছেন তা সম্ভবত এলোমেলো ত্রুটির কারণে হয়েছে (সময় নির্ধারণ, বাধা ইত্যাদি)।
সাইমনজে

6

স্ট্রিংগুলিতে রূপান্তর করার বিভিন্ন উপায় রয়েছে:

StringBuilder string = string.append(i).toString();
String string = String.valueOf(i);
String string = Integer.toString(i);

স্ট্রিংবিল্ডার স্ট্রিং = স্ট্রিং.এপেন্ড (i) .toString (); ... এইচএম, তাই এটি স্ট্রিংবিল্ডার, না একটি স্ট্রিং? কিছু
গণ্ডগোল

6

এটি আপনার স্ট্রিংটি কীভাবে ব্যবহার করতে চান তার উপর নির্ভর করে। এটি সাহায্য করতে পারে:

String total =  Integer.toString(123) + Double.toString(456.789);

5

সিমনজেতে বেশিরভাগ ক্ষেত্রে ডিট্টো। আমি সত্যই পছন্দ করি না "+ আমি আইডিয়োম। আপনি যদি String.valueOf (i) বলছেন, জাভা পূর্ণসংখ্যাকে একটি স্ট্রিংয়ে রূপান্তর করে ফলাফল প্রদান করে। আপনি যদি "" + i বলেন, জাভা একটি স্ট্রিংবিল্ডার অবজেক্ট তৈরি করে, এতে একটি খালি স্ট্রিং যুক্ত করে, পূর্ণসংখ্যাকে একটি স্ট্রিংয়ে রূপান্তর করে, স্ট্রিংবিল্ডারে এটি যুক্ত করে, তারপরে স্ট্রিংবিল্ডারকে একটি স্ট্রিংয়ে রূপান্তর করে। এটি অনেকগুলি অতিরিক্ত পদক্ষেপ। আমি মনে করি আপনি যদি এটি একবার কোনও বড় প্রোগ্রামে করেন তবে এটি কোনও বড় বিষয় নয়। আপনি যদি সারাক্ষণ এই কাজটি করে থাকেন তবে আপনি কম্পিউটারকে অতিরিক্ত কাজ করে যাচ্ছেন এবং এই সমস্ত অতিরিক্ত অবজেক্ট তৈরি করে যা পরিষ্কার করতে হবে। আমি মাইক্রো অপটিমাইজেশন সম্পর্কে ধর্মান্ধ হতে চাই না, তবে আমিও অর্থহীন অপব্যয়ী হতে চাই না।



5

একটি পূর্ণসংখ্যাটিকে স্ট্রিতে রূপান্তর করার জন্য অনেকগুলি উপায় রয়েছে:

1)

Integer.toString(10);

2)

 String hundred = String.valueOf(100); // You can pass an int constant
 int ten = 10;
 String ten = String.valueOf(ten)

3)

String thousand = "" + 1000; // String concatenation

4)

String million = String.format("%d", 1000000)

1
স্ট্রিং.ফর্ম্যাট ("% d", 1000000) ... এটি সত্যই ইন্টার >> স্ট্রিং রূপান্তর নয়, এটি স্ট্রিং >> স্ট্রিং প্রসেসিং এখানে ওভারলোড হওয়া সত্ত্বেও। সুতরাং আমি এটি পুনর্নির্মাণ করি না। অবশ্যই কেবল রূপান্তরকরণের উদ্দেশ্যে নয়।
ফ্রেঁতা


3

সংখ্যাকে স্ট্রিংয়ে রূপান্তর করার জন্য "" + i ব্যবহার করা সবচেয়ে সংক্ষিপ্ততম এবং সহজতম উপায়। এটি সবচেয়ে দক্ষ নয়, তবে এটি পরিষ্কার আইএমএইচও এবং এটি সাধারণত আরও গুরুত্বপূর্ণ। কোডটি যত সহজ, আপনি ভুল করার সম্ভাবনা কম।


2
স্ট্রিং.ভ্যালুওফ বা ইন্টিজার. টো স্ট্রিংয়ে কেউ কীভাবে ভুল করতে পারে?
ইভা

1
আমি স্ট্রিং.ভালিউওফ () এর কয়েকটি অ-আদর্শ ব্যবহার পেয়েছি তবে এখন সেগুলি মনে করতে পারছি না। যখন আউটপুটটি সঠিক ছিল এটি তার চেয়ে কম দক্ষ ছিল""+i
পিটার লরে

2

ব্যক্তিগতভাবে আমি মনে করি যে "" আমি মূল প্রশ্ন পোস্টারে "দুর্গন্ধযুক্ত" বলে দেখছি। আমি জাভা ছাড়াও প্রচুর ওও ভাষা ব্যবহার করেছি। যদি সেই বাক্য গঠনটি যথাযথ বলে মনে করা হত তবে জাভা কেবল স্ট্রিংয়ে রূপান্তরিত হওয়ার প্রয়োজন অনুযায়ী কেবল "" কেবলমাত্র ব্যাখ্যা করবে এবং গন্তব্য প্রকারটি দ্ব্যর্থহীন হওয়ায় এবং ডানদিকে কেবল একটি একক মান সরবরাহ করা হবে do । অন্যটি সংকলকটিকে বোকা বানানোর জন্য একটি 'কৌশল' বলে মনে হচ্ছে, খারাপ মজো যখন অন্য নির্মাতারা তৈরি করেছেন বা অন্য প্ল্যাটফর্মগুলি থেকে জাভাকের বিভিন্ন সংস্করণ বিবেচনা করা হয় যদি কোডটি কখনই পোর্ট করা প্রয়োজন। আমার অর্থের জন্য হিক এটি অন্য অনেকগুলি ওওএল এর ন্যায় পছন্দ করতে পারে একটি টাইপকাস্ট নিন: (স্ট্রিং) i winks

আমার শেখার পদ্ধতি এবং অন্যদের কোডটি দ্রুত পড়ার সময় এ জাতীয় গঠন বোঝার সুবিধার জন্য আমি পূর্ণসংখ্যা.টোস্ট্রিং (i) পদ্ধতির পক্ষে ভোট দিই। জাভা কীভাবে ব্যাকগ্রাউন্ডে জিনিসগুলি প্রয়োগ করে বনাম স্ট্রিং.ভ্যালুওফ (i) এ দুটি এনএস ভুলে যাওয়া এই পদ্ধতিটি আমার কাছে সঠিক মনে হয়েছে এবং যা ঘটছে ঠিক তা বলেছেন: আমার এবং পূর্ণসংখ্যা রয়েছে এবং আমি আশা করি এটি স্ট্রিংয়ে রূপান্তরিত হোক।

বেশ কয়েকবার তৈরি একটি ভাল পয়েন্ট সম্ভবত স্ট্রিংবিল্ডার আপ ফ্রন্ট ব্যবহার করা টেক্সট এবং ইনটস বা অন্যান্য বস্তুর সাথে মিশ্রিত স্ট্রিংস তৈরির একটি ভাল উত্তর যেহেতু যেভাবেই ব্যাকগ্রাউন্ডে ব্যবহৃত হবে?

ম্যানস প্রশ্নের উত্তরের ইতিমধ্যে সুদযুক্ত কিটিতে ফেলে দেওয়া কেবল আমার দুটি সেন্ট ... হাসি

কিছু প্রতিবিম্বের পরে আমার নিজের উত্তরটি সম্পাদনা করুন:

ঠিক আছে, ঠিক আছে, আমি এটি নিয়ে আরও কিছু ভাবছিলাম এবং স্ট্রিং.ভালিউও (i) পুরোপুরি ভাল পাশাপাশি এটিও বলেছে: আমি একটি স্ট্রিং চাই যা একটি পূর্ণসংখ্যার মান উপস্থাপন করে। হ্যাঁ, ইংলিশটি তখন জাভা পার্স করা আরও বেশি কঠিন! তবে, আমি আমার উত্তর / মন্তব্য বাকী রেখে দিয়েছি ... আমাকে যদি সর্বদা সম্ভব হয় তবে কোনও পদ্ধতি / ফাংশন চেইনের সর্বনিম্ন স্তরটি ব্যবহার করতে শেখানো হয়েছিল এবং এখনও যদি পাঠ্যতা বজায় থাকে তবে স্ট্রিং.ভ্যালুওফ যদি ইন্টিজার.টোস্ট্রিংকে কল করে তবে কেন পুরো কমলা ব্যবহার করবেন? যদি আপনার খালি এটি যাই হোক না কেন, হুমম?

স্ট্রিংবিল্ডার সম্পর্কে আমার মন্তব্য স্পষ্ট করার জন্য, আমি বেশিরভাগ আক্ষরিক পাঠ্য এবং ইনট এর কম্বো দিয়ে অনেকগুলি স্ট্রিং তৈরি করি এবং তারা দীর্ঘস্থায়ী এবং কুশ্রী হয়ে উপরে উল্লিখিত রুটিনগুলিতে কল করে "+ এর মধ্যে এম্বেড করে, তাই আমার মনে হয় যদি সেগুলি হয়ে যায় এসবি যাহাই হউক না কেন বস্তু এবং অ্যাপেন্ড পদ্ধতির ওভারলোড রয়েছে এটি কেবল এগিয়ে গিয়ে এটি ব্যবহার করা আরও পরিষ্কার হতে পারে ... সুতরাং আমি অনুমান করি যে আমি এখন এইটির উপরে 5 সেন্ট পর্যন্ত আছি, তাই না? হাঃ হাঃ হাঃ...



-5

সহজ টাইপকাস্টিং চেষ্টা করুন

char c = (char) i;

3
কোনও int কে স্ট্রিংয়ে রূপান্তর করার জন্য এটি ভাল উপায় নয়। প্রকৃতপক্ষে, আপনি কোনও ইনটকে একটি স্ট্রিংয়ে রূপান্তর করছেন না, আপনি কোনও ইনটকে একটি চরে রূপান্তর করছেন। এটি কোনও ASCII অক্ষর কোড হিসাবে ইন্টটি ব্যাখ্যা করবে এবং আপনাকে সেই চর দেবে। এটি বিপজ্জনক (নেতিবাচক মানগুলি ইত্যাদি) এবং সামগ্রিকভাবে কেবল সাধারণ ভুল।
নেপক্সক্স

উপরের প্রশ্নটি পরিষ্কার করুন, চর এবং স্ট্রিং উভয়ই আলাদা ...!

তবে এটি কাজ করে (এএসসিআইআই চারসেট "অফসেট"):char c = (char) (i + 48);
ইলেক্ট্রোবাবে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.