Προς το περιεχόμενο

Πως μετατρέπω int σε string ?? Java!


CHRIS_MALL

Προτεινόμενες αναρτήσεις

Δημοσ.

Πως μπορώ να μετατρέψω ένα integer σε string??

Θέλω να γράψω την drawString αλλά κάποιων αριθμών που ακολουθούν μία πρόοδο οπότε θέλω να έχουν αντί για String αριθμούς να εμφανίζονται!

 

Thanx a lot!!

Δημοσ.

Σε ευχαριστώ πάρα πολύ φίλε μου!! Άψογος πραγματικά!!

 

Μήπως ξέρεις και πως χρησιμοποιύμε την set Background για να ορίσουμε για χρώμα ένα συγκεκριμένο χρώμα??

 

ok ok ... το βρήκα!! Thanks a lot!!

Δημοσ.

H setBackground συντάσετται έτσι:

 

>public void [b]setBackground[/b]([url="http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Color.html"]Color[/url] c)

Ρίξε μια ματιά εδώ για περισσότερες πληροφορίες πάνω στην κλάση Color (java.awt.Color).

 

Ποια έκδοση της Java χρησιμοποιείς; Σε συμβουλέυω να κατεβάσεις το API, αλλιώς δε θα βρίσκεις άκρη με τις τόσες συναρτήσεις!

Δημοσ.

Ο τρόπος που έδωσε ο pusher ναι μεν κάνει δουλειά αλλά δεν ενδείκνυται και αυτό γιατί κάθε φορά δημιουργείς ένα νέο object (Integer).

 

Use

>
String.valueOf(int)

 

String Javadoc

 

In any case use the Javadoc.

Επισκέπτης
Δημοσ.

H poio swsth me8odos (kata thn gnwmh mou panta) einai h ekshs:

 

int x = 5;

String str = Integer.toString(x);

Δημοσ.

Και αυτή σωστή.

Ο κώδικας της Integer#toString(int) στην ουσία καλή την String#valueOf(int)

 

>
public static String toString(int i) {
return String.valueOf(i);
}

Δημοσ.

Σε περιπτώσεις όπου έχουμε να κάνουμε concatenate αρκετά String(s) και numbers θα χρησιμοποιούσα το παραπάνω notation του Dikemou. Για ένα απλό conversion όμως όχι.

 

Π.χ.

>
String foo = "foo" + 10 + "bar" + 20 + "foobar" + 30 + "barfoo" + 100

 

Αντί για

>
String foo = "foo" + String.valueOf(10) + "bar" + String.valueOf(20) + "foobar" + String.valueOf(30) + "barfoo" + String.valueOf(100)

 

Ο compiler κάνει αρκετά "optimizations" στο class αρχείο (πολλές φορές ugly βάσει του κώδικα που έχουμε γράψει).

 

Source

>
int a=10;
String s = a+"";

 

Compiled

>
byte byte0 = 10;
String s = (new StringBuilder()).append(byte0).append("").toString();

 

Βάζοντας ένα απλό final στην δήλωση του ακεραίου όμως δείτε πως αλλάζει

 

Compiled

>
String s = "10";

 

Δείτε και τα 2 παραγόμενα class αρχεία από το αρχικό παράδειγμα.

 

Compiled

>
String foo = "foo10bar20foobar30barfoo100";

 

Compiled

>
String foo = (new StringBuilder()).append("foo").append(String.valueOf(10)).append("bar").append(String.valueOf(20)).append("foobar").append(String.valueOf(30)).append("barfoo").append(String.valueOf(100)).toString();

Επισκέπτης
Δημοσ.

Nice one,

Thanks cue :)

 

PS. Me poio proggie kaneis decompile ?

Δημοσ.

Ευχαριστώ για τον Jad.

 

Ο αντίστοιχος κώδικας σε C++:

 

>
#include <stringstream>

stringstream asdf;
string str1 = "12341234adf";
int a = 0;
asdf << str1;
asdf >> a;
cout << a;

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...