This week's book giveaway is in the Programmer Certification forum.
We're giving away four copies of OCP Oracle Certified Professional Java SE 11 Programmer I Study Guide: Exam 1Z0-815 and have Jeanne Boyarsky & Scott Selikoff on-line!
See this thread for details.
Win a copy of OCP Oracle Certified Professional Java SE 11 Programmer I Study Guide: Exam 1Z0-815 this week in the Programmer Certification forum!
  • 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
  • Liutauras Vilda
  • Junilu Lacar
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Knute Snortum
  • Devaka Cooray
  • Tim Cooke
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Ron McLeod
  • Carey Brown
Bartenders:
  • Paweł Baczyński
  • Piet Souris
  • Vijitha Kumara

new Comparator<K>() isn't Comparator an interface

 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
this is probably not a new question . This is someone's code that I am trying to grasp.
I do not get how is it possible to use
.

1) Comparator is an interface and I should not be able to create an instance of interface?
2) why should it return 1

 
Rancher
Posts: 4325
47
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
From the comments int hat code:
//START of anonymous class

That bit in the curly braces is defining an anonymous class that implements the Comparator interface's method.

If you look at the files produced when it's compiled you'll see a <YourClassName>.class file, which is the compiled version of your class, but also a <YourClassName>$1.class, which is the anonymous class.
 
Sheriff
Posts: 6374
172
Eclipse IDE Postgres Database VI Editor Chrome Java Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And welcome to the Ranch, Ines. Did Dave's explanation make sense to you? This is an idiom you will probably see a lot of in old code, and it is confusing, so it's a good thing to fully understand it.
 
Marshal
Posts: 66237
250
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Ines ilovebears wrote: . . . This is someone's code that I am trying to grasp. . . .

So at least you are not to blame for this:-

. . .

 
Ines Mew
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Campbell, Dave, Knute

Thanks for your answers..I am still not clear on the whole topic of anonymous classes and generics but I feel like I am getting some progress. On a scale from 1 to 10 I went
from 0 to 2.. or maybe 1

How about this line:
1) new TreeMap(Comparator<T>) it creates an empty map ->this new map is ORDERED based on the rules I specified in
my Comparator -> then I take my original UNORDERED map and put it into this new map. Correct?

2) on line 56

I am trying to add another entry to my ORDERED map. I get NPE. Why?

 
I've got no option but to sell you all for scientific experiments. Or a tiny ad:
Java file APIs (DOC, XLS, PDF, and many more)
https://products.aspose.com/total/java
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!