• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Rob Spoor
  • Henry Wong
  • Liutauras Vilda
Saloon Keepers:
  • Tim Moores
  • Carey Brown
  • Stephan van Hulst
  • Tim Holloway
  • Piet Souris
Bartenders:
  • Frits Walraven
  • Himai Minh
  • Jj Roberts

wrapper class program error

 
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Can you please tell me whats wrong with my code?
I am Getting an Error like this.
/*
Error

WrapperTest.java:7: cannot find symbol
symbol : class valueOf
location: class java.lang.Integer
Integer i3=new Integer.valueOf("101011",2);
^
WrapperTest.java:8: cannot find symbol
symbol : class valueOf
location: class java.lang.Integer
Integer i4=new Integer.valueOf("101011",8);
^
WrapperTest.java:9: cannot find symbol
symbol : class valueOf
location: class java.lang.Integer
Integer i5=new Integer.valueOf("101011",16);
^
WrapperTest.java:23: cannot find symbol
symbol : class valueOf
location: class java.lang.Float
Float f3=new Float.valueOf("3.14f");
^
4 errors

*/
Coding Below

class WrapperTest
{
void inttest()
{
Integer i1=new Integer(42);
Integer i2=new Integer("42");
Integer i3=new Integer.valueOf("101011",2);
Integer i4=new Integer.valueOf("101011",8);
Integer i5=new Integer.valueOf("101011",16);

System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
System.out.println(i5);

}

void floattest()
{
Float f1=new Float(3.14);
Float f2=new Float("3.14");
Float f3=new Float.valueOf("3.14f");

System.out.println(f1);
System.out.println(f2);
System.out.println(f3);
}

void booleantest()
{
Boolean b1=new Boolean(false);
Boolean b2=new Boolean("false");

System.out.println(b1);
System.out.println(b2);
}

public static void main(String arr[])
{
WrapperTest wt=new WrapperTest();
wt.inttest();
wt.floattest();
wt.booleantest();
}
}
 
author and iconoclast
Posts: 24203
44
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
All the lines that look like

Float f3=new Float.valueOf("3.14f");

should just be

Float f3=Float.valueOf("3.14f");

I've removed the "new". The keyword "new" is for creating objects and invoking their constructors; you don't use it to call an ordinary method which returns an object.

Note that inside the code for these "valueOf()" methods you would find a use of "new" to create the objects these methods return.
 
Sheriff
Posts: 22121
114
Eclipse IDE Spring VI Editor Chrome Java Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Ernest Friedman-Hill:
Note that inside the code for these "valueOf()" methods you would find a use of "new" to create the objects these methods return.


Not necessarily. The Byte, Short, Integer and Long classes creates wrappers for all numbers from -128 to 127 when the class is loaded, and returns those when possible. For every other number a new object is created. Character does the same but without the negative part, as negative characters are not possible.
Float and Double do just return a new Float/Double object each time.
 
Wanderer
Posts: 18671
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
True, but even so, those cached objects were originally created with the new keyword. It's just that this happened when the class was loaded & initialized, not when valueOf() was called. And either way, "new" does occur in the code, even if it's not executed every time valueOf() is called.
[ November 06, 2007: Message edited by: Jim Yingst ]
 
It is no measure of health to be well adjusted to a profoundly sick society. -Krishnamurti Tiny ad:
SKIP - a book about connecting industrious people with elderly land owners
https://coderanch.com/t/skip-book
reply
    Bookmark Topic Watch Topic
  • New Topic