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

  • Home
  • SEARCH
  • 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 71021
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T19:49:21+00:00 2026-05-10T19:49:21+00:00

Here’s an interface: public interface Foo<T> extends Comparable<Foo<T>> { … } And there are

  • 0

Here’s an interface:

public interface Foo<T> extends Comparable<Foo<T>>  {    ... } 

And there are some classes implementing this interface:

public class Bar extends Something implements Foo<Something> {     public Vector<Foo<Bar>> giveBar() {         ...     } }  public class Boo extends SomethingElse implements Foo<SomethingElse> {     public Vector<Foo<Boo>> giveBoo() {         ...     } } 

Now I want to keep a bunch of Foos (that may really be Foos or Boos) inside a vector.

Bar bar = new Bar(); Boo boo = new Boo(); Vector<Foo<?>> vector; if (...)     vector = bar.giveBar(); else    vector = boo.giveBoo(); 

I get:

Type mismatch: cannot convert from Vector<Foo<SomethingElse>> to Vector<Foo<?>> 

The same goes for:

Vector<Foo> vector; if (...)     vector = giveBar(); else    vector = giveBoo(); 

Is a superclass that both Bar and Boo extend the only solution to this 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. 2026-05-10T19:49:21+00:00Added an answer on May 10, 2026 at 7:49 pm

    What all that code boils down to is:

    Vector<A> vector = new Vector<B>(); 

    In this case B extends A, but that’s not allowed because the types don’t match. To make clear why this doesn’t work, imagine the following code:

    Vector<Vector<?>> vector = new Vector<Vector<String>>(); vector.add(new Vector<Integer>()); 

    The variable’s type is of a vector of vectors of unknown type; and what’s being assigned to it is a vector of vectors of strings. The second line adds a vector of integers to that. The component type of the variable Vector<?>, which accepts Vector<Integer>; but the actual vector’s component type is Vector<String>, which doesn’t. If the compiler didn’t object to the assignment on the first line, it would allow you to write the incorrect second line without being spotted.

    C#’s generics have a similar restriction, but the difference is that a generic class in C# stores it component type, while Java forgets component types when the code is compiled.

    ps – Why on earth are you using Vector rather than LinkedList or ArrayList? Is it because there are threading issues involved?

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

Sidebar

Ask A Question

Stats

  • Questions 191k
  • Answers 191k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Sounds like that phone doesn't support cookies. May 12, 2026 at 6:15 pm
  • Editorial Team
    Editorial Team added an answer When returning the file to the browser, set the mime-type… May 12, 2026 at 6:15 pm
  • Editorial Team
    Editorial Team added an answer Dear 2:30, You paste the following code inside configuration section… May 12, 2026 at 6:15 pm

Related Questions

Is it possible to replace javascript w/ HTML if JavaScript is not enabled on
I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
Here's a basic regex technique that I've never managed to remember. Let's say I'm
Here's a problem I ran into recently. I have attributes strings of the form

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.