File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Generic compilation issue

 
chirag visavadia
Greenhorn
Posts: 7
IntelliJ IDE Java Linux
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


Can anyone please help me to understand this code? As per my understanding below code should take Object() as argument but it gives compile error. Thanks

GenericTest.java:5: cannot find symbol
symbol : method add(java.lang.Integer)
location: interface java.util.NavigableSet<capture#964 of ?>
set.add(new Integer(2));
^
1 error
 
Himai Minh
Ranch Hand
Posts: 1142
4
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The generic set with <?> won't let you add anything except null as a rule of the compiler to make your collection type safe.

During compilation time, the set means it refers to a collection that contains a type of object as specified on the right hand side.
During compilation time, the compiler does not know what set will contain. It can be Object, Animal, Cat, Dog....
For example, you may want to add this to the class in the future:

Again during compilation time, set.add( ...) will not compile because the compiler does not know what set will contain. The compiler won't let you put a wrong type of object to set.
 
chirag visavadia
Greenhorn
Posts: 7
IntelliJ IDE Java Linux
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you now I understand...
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic