Forums Register Login

Integer decode() vs. valueOf()

+Pie Number of slices to send: Send
Hi,

Can someone clarify me the actual purpose and difference between two different functions for similar result in java.lang.Integer class. Their signatures are:

static Integer decode(String nm)
static Integer valueOf(String s)

Pls. also specify me whether i can pass an octal number as string to any of these methods and get back the hexadecimal number in a single step?
+Pie Number of slices to send: Send
Lalit,

The difference between these two methods is that with the decode() method you can pass octal and hexadecimal strings in addition to decimal strings. The single parameter version of the valueOf() method only interprets strings representing signed decimal integers.

For the decode() method, you pass radix specifiers such as "0x" or "#" for hex strings and "0" for octal strings.

The two parameter version of the valueOf() method is more flexible in that it can interpret strings represented in many different bases (up to base 36 I think).

Look at the following example:



Lalit, as much as I am happy to help you out here, the brief information I supplied above is all available from the Java API javadocs. You really should learn to use the javadocs for the API - it's a skill that will you serve you well.

Regards,
JD
[ July 04, 2005: Message edited by: John Dell'Oso ]
+Pie Number of slices to send: Send
Thanks John Dell'Oso for the nice reply. After you suggestion i have found way to convert an octal number to hexadecimal number in a single step precisely. It can be done as:


Just let me do the talking. Ahem ... so ... you see ... we have this tiny ad...
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 11470 times.
Similar Threads
Programmatically Thrown Exceptions
primitive conversion
Who throws NumberFormatException
valueOf
valueOf() and parseXxx() for Character and Boolean wrapper classes - sounds like erratum in K&B
More...

All times above are in ranch (not your local) time.
The current ranch time is
Apr 16, 2024 07:54:28.