Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 997151
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T06:59:14+00:00 2026-05-16T06:59:14+00:00

I get the following error message (reduced to the important part) when I’m compiling

  • 0

I get the following error message (reduced to the important part) when I’m compiling my classes:

reference to keySet is ambiguous, both method keySet() in
java.util.SortedMap<E,capture#614 of ?> and method keySet() in
test.ImmutableMap<E,capture#614 of ?> match
    return map.keySet().iterator();
              ^

map is of type ImmutableSortedMap<E, ?> and the definition of immutable classes looks like:

public interface ImmutableMap<K, V>
    extends Map<K, V> {
  @Override
  public ImmutableSet<K> keySet();
  ...
}
public interface ImmutableSortedMap<K, V>
    extends ImmutableMap<K, V>, SortedMap<K, V> {
  ...
}
public interface ImmutableSet<E>
    extends Set<E> {
  ...
}

The error appears when I’m compiling using an ANT script or manually, but not in eclipse.
I tried it with sun 1.6.0 and icedtea6 1.8.1.

Is there something obvious I’m missing or is there an option that may be set somewhere in eclipse to allow the compilation?
The thing is that, right now, I can run the tests in eclipse, but I cannot compile the project outside eclipse.


EDIT: the answer

It seems that some compiler versions have problems with multiple inheritance like that.
The solution is to override the method one more time in the sub-class inheriting from other interfaces that have a common super-interface and that override themselves the method.

public interface ImmutableSortedMap<K, V>
    extends ImmutableMap<K, V>, SortedMap<K, V> {
  // adding this method solves the problem
  @Override
  public ImmutableSet<K> keySet();
}

By the way, this is the diamon problem.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T06:59:15+00:00Added an answer on May 16, 2026 at 6:59 am

    both interfaces ImmutableMap and SortedMap have a method named “keySet()” so the compiler can’t figure out wich one to call. Change the method’s name in your interface 😉

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.