Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Conversions in Java

64 views
Skip to first unread message

Panoramix

unread,
May 21, 2013, 11:23:13 AM5/21/13
to
Someone has a good introduction to conversions of values in Java?

I am working in a project that I need to use this and I'm having some trouble about this.


Thanks!

Arne Vajhøj

unread,
May 21, 2013, 11:23:49 AM5/21/13
to
On 5/21/2013 11:23 AM, Panoramix wrote:
> Someone has a good introduction to conversions of values in Java?
>
> I am working in a project that I need to use this and I'm having some trouble about this.

What type of conversions?

Arne


Message has been deleted

Arved Sandstrom

unread,
May 21, 2013, 5:09:06 PM5/21/13
to
On 05/21/2013 12:34 PM, Stefan Ram wrote:
> Panoramix <lucasr...@gmail.com> writes:
>> Someone has a good introduction to conversions of values in Java?
>
> There are no special books about the conversions of values
> in Java, but the topic is treated in every good Java text book.

And the language spec and type APIs.

>> I am working in a project that I need to use this and I'm having some trouble about this.
>
> Possibly, you might want
>
> java.lang.Double.valueOf( yourText )
>
Good point, both Arne and Stefan - it may not be simply implicit numeric
type conversions referred to here, but also parsing string into numeric,
etc etc.

AHS

Lew

unread,
May 21, 2013, 5:49:19 PM5/21/13
to
Stefan Ram wrote:
> Panoramix writes:
>> Someone has a good introduction to conversions of values in Java?

Arne asked "What type of conversions?" Here is some general information about various
conversion types:

http://docs.oracle.com/javase/tutorial/java/data/converting.html
http://docs.oracle.com/javase/tutorial/java/data/autoboxing.html
http://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html
http://docs.oracle.com/javase/tutorial/essential/io/scanfor.html
http://docs.oracle.com/javase/tutorial/java/IandI/interfaceAsType.html

If you read the Java Language Specification (JLS) you will get the normative definitions
for various conversions:
http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html

If you mean various formatting or string conversions, as Stefan conjectured, then you
should look at the Javadocs for various formatting and string-ish types:
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#format(java.lang.String, java.lang.Object...)
et al.
http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html
http://docs.oracle.com/javase/7/docs/api/java/text/Format.html
and related types

> There are no special books about the conversions of values
> in Java, but the topic is treated in every good Java text book.
>
>> I am working in a project that I need to use this and I'm having some trouble about this.
>
> Possibly, you might want
>
> java.lang.Double.valueOf( yourText )

There are similar 'valueOf()' methods in the other primitive wrapper classes ('Integer', ...).

Also, GIYF.

--
Lew

Panoramix

unread,
May 21, 2013, 6:07:06 PM5/21/13
to
Thanks guys!

I really appreciate.

When I say conversions, I mean every type of conversion!

Thanks for the help

Eric Sosman

unread,
May 21, 2013, 6:17:30 PM5/21/13
to
On 5/21/2013 6:07 PM, Panoramix wrote:
> Thanks guys!
>
> I really appreciate.
>
> When I say conversions, I mean every type of conversion!

There's a reasonably accurate summary at

<http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html>

> Thanks for the help

Glad to be of service.

--
Eric Sosman
eso...@comcast-dot-net.invalid

Roedy Green

unread,
May 22, 2013, 6:04:17 AM5/22/13
to
On Tue, 21 May 2013 08:23:13 -0700 (PDT), Panoramix
<lucasr...@gmail.com> wrote, quoted or indirectly quoted someone
who said :

>Someone has a good introduction to conversions of values in Java?

see http://mindprod.com/applet/converter.html
--
Roedy Green Canadian Mind Products http://mindprod.com
Technological possibilities are irresistible to man.
If man can go to the moon, he will.
If he can control the climate, he will.
~ John von Neumann (born: 1903-12-28 died: 1957-02-08 at age: 53)

Robert Klemme

unread,
May 25, 2013, 5:27:08 PM5/25/13
to
On 22.05.2013 00:07, Panoramix wrote:

> When I say conversions, I mean every type of conversion!

Well, then you just need

public interface Converter<F,T> {
T convert(F fromValue);
}

implement all conversions needed plus a smart mechanism to choose the
appropriate one in every case. ;-)

Cheers

robert

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

Arved Sandstrom

unread,
May 25, 2013, 5:59:03 PM5/25/13
to
On 05/25/2013 06:27 PM, Robert Klemme wrote:
> On 22.05.2013 00:07, Panoramix wrote:
>
>> When I say conversions, I mean every type of conversion!
>
> Well, then you just need
>
> public interface Converter<F,T> {
> T convert(F fromValue);
> }
>
> implement all conversions needed plus a smart mechanism to choose the
> appropriate one in every case. ;-)
>
> Cheers
>
> robert
>
JSF javax.faces.convert.Converter. :-) You've got to do the custom work
and the mechanism is explicit, but still...

A fair few ESBs (enterprise service buses) also have what they call
transformers (converters) and often a registration/auto-discovery
mechanism. For example, in Java-based ESBs - which is most of them - you
might have a message which encounters a processing component, which by
entry point resolution, expects a payload of class X and to return a
payload of class Y (null is acceptable): the ESB will consult a list of
X<->Y converters that it knows about, and select the best converter
according to a rule set.

AHS
--
When a true genius appears, you can know him by this sign:
that all the dunces are in a confederacy against him.
-- Jonathan Swift

Arne Vajhøj

unread,
Jun 1, 2013, 10:01:55 PM6/1/13
to
On 5/21/2013 6:07 PM, Panoramix wrote:
> When I say conversions, I mean every type of conversion!

Numbers of possible types are infinite.

So number of conversions between types are also infinite.

But if you are only thinking about the most basic types
then see below for some examples.

Arne

====

int iv = 123;
double xv2;
xv2 = iv;

int iv = 123;
boolean bv2;
bv2 = (iv != 0);

int iv = 123;
char cv2;
cv2 = (char)iv;

int iv = 123;
String sv2;
sv2 = Integer.toString(iv);

double xv = 123.456;
int iv2;
iv2 = (int)xv;

double xv = 123.456;
String sv2;
sv2 = Double.toString(xv);

boolean bv = true;
int iv2;
iv2 = (bv ? 1 : 0);

boolean bv = true;
String sv2;
sv2 = (new Boolean(bv)).toString();

char cv = 'A';
int iv2;
iv2 = cv;

char cv = 'A';
String sv2;
sv2 = new String(new char[] { cv });

String sv = "123";
int iv2;
iv2 = Integer.parseInt(sv);

String sv = "123.456";
double xv2;
xv2 = Double.parseDouble(sv);

String sv = "true";
boolean bv2;
bv2 = Boolean.valueOf(sv).booleanValue();

String sv = "ABC";
char cv2;
cv2 = sv.charAt(0);

int iv = 123;
String sv2;
sv2 = Integer.toHexString(iv);

String sv = "7b";
int iv2;
iv2 = Integer.parseInt(sv, 16);

byte[] b = { 65, 66, 67 };
String s2;
s2 = new String(b, "ISO-8859-1");

String s = "abc";
byte[] b2;
b2 = s.getBytes("ISO-8859-1");

int iv = 123;
Integer iv2;
iv2 = new Integer(iv);

Integer iv = new Integer(123);
int iv2;
iv2 = iv.intValue();

java.util.Date d;
java.util.Calendar cal = new java.util.GregorianCalendar();
d = cal.getTime();

java.util.Date d = new java.util.Date();
java.util.Calendar cal = new java.util.GregorianCalendar();
cal.setTime(d);

java.util.Date d = new java.util.Date();
java.text.DateFormat df = new
java.text.SimpleDateFormat("dd-MMM-yyyy hh:mm");
String ds;
ds = df.format(d);

String ds = "31-Jan-2004 09:24"
java.util.Date d;
java.text.DateFormat df = new
java.text.SimpleDateFormat("dd-MMM-yyyy hh:mm");
d = df.parse(ds);

java.util.Date d = new java.util.Date();
java.sql.Timestamp ts;
ts = new java.sql.Timestamp(d.getTime());

java.sql.Timestamp ts = new java.sql.Timestamp((new Date()).getTime());
java.util.Date d;
d = ts;

Kevin McMurtrie

unread,
Jun 2, 2013, 5:38:27 AM6/2/13
to
Don't forget shorthand operators that automatically typecast:

+=
-=
*=
/=

int a= 0;
a+= Double.MAX_VALUE;
a+= Float.MAX_VALUE;
a+= Long.MAX_VALUE;

The shorthand bit operators automatically typecast length:

|=
&=
^=

a|= Long.MAX_VALUE;



In article <51aaa795$0$32106$1472...@news.sunsite.dk>,
--
I will not see posts from Google because I must filter them as spam

Sven Köhler

unread,
Jun 2, 2013, 9:14:20 AM6/2/13
to
On 06/02/2013 05:01 AM, Arne Vajhøj wrote:
> On 5/21/2013 6:07 PM, Panoramix wrote:
>> When I say conversions, I mean every type of conversion!
>
> Numbers of possible types are infinite.
>
> So number of conversions between types are also infinite.

But the formal description of all possible conversions between types is
not infinite.


Regards,
Sven

Arne Vajhøj

unread,
Jun 2, 2013, 9:50:31 AM6/2/13
to
True.

But if someone want to ask that question and can understand the answer,
then usually they don't need to ask in the first place.

Arne


Lew

unread,
Jun 2, 2013, 2:41:24 PM6/2/13
to
Kevin McMurtrie wrote:
> Don't forget shorthand operators that automatically typecast:

The JLS doesn't call these "typecasts", it calls them "widening
and narrowing conversions", in case you're looking for the rules
at the source.

> +=
> -=
> *=
> /=
>
> int a= 0;
> a+= Double.MAX_VALUE;
> a+= Float.MAX_VALUE;
> a+= Long.MAX_VALUE;
>
> The shorthand bit operators automatically typecast length:

This is the same conversion as with += and the rest.

> |=
> &=
> ^=
>
> a|= Long.MAX_VALUE;
>
> In article <51aaa795$0$32106$1472...@news.sunsite.dk>,

And please do not top-post.

> Arne Vajhøj <ar...@vajhoej.dk> wrote:
>> Panoramix wrote:

--
Lew
0 new messages