This week's giveaway is in the Threads forum.
We're giving away four copies of Java Concurrency Live Lessons and have Doug Schmidt on-line!
See this thread for details.
Win a copy of Java Concurrency Live Lessons this week in the Threads forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

autoboxing in vectors  RSS feed

 
rakhee gupta
Ranch Hand
Posts: 43
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I have a doubt regarding autoboxing.
When we try to add an primitive to vectors doesn't autoboxing automatically converts the primitive to wrapper class?
like is this not a valid statement:
2) Vector v=new Vector();
v.addElement(99);

What are rules of autoboxing.When it comes into play?
Thanks in advance.
 
Bhanurekha Chintagunta
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Vector take any Object if we don't specify the type like Vector<object_type> . all the primitives that are added will converted to wrapper classes. Check your have compiler if the version has autoboxing?

import java.util.*;
public class D {

class sub {

sub() {
System.out.println("created a sub");
}

public String toString() {
return "Object::sub";
}
}

D() {
Vector v = new Vector();
v.addElement(99);
v.addElement("some string");
v.addElement(new sub());
for (Object i : v) {
System.out.println("Value:: " + i + "\t Class:: " + i.getClass().getName());
}
}

public static void main(String[] args) {
D sub = new D();
}
}

the above code prints

Value:: 99 Class:: java.lang.Integer
Value:: some string Class:: java.lang.String
Value:: Object::sub Class:: D$su
 
Milan Sutaria
Ranch Hand
Posts: 122
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
it applies to all the Collection (concrete) (sub-)classes maps,sets list etc
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!