Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java class with concrete type as parameter

Tags:

java

generics

Is there any point in declaring a class with "concrete" types as generics?

If yes, what's the use for it?

If no, any specific reason why the compiler is allowing it?

The code:

public class SomeClass<Integer> {  

    //...

    public static void main (String a[]) {
        // SomeClass <> iSome = new SomeClass<>();
        // SomeClass <Integer> jSome = new SomeClass<>();

        SomeClass <Double> kSome = new SomeClass<>();

        // ...
    }
}

is running fine, and is giving compiler errors when I uncomment the lines declaring iSome and jSome.

I'm trying to put things together in "deciphering" the generics.

Thanks in advance.

like image 672
Roam Avatar asked Feb 14 '26 23:02

Roam


1 Answers

It's not what you think. You're creating a generic type parameter called Integer which shadows java.lang.Integer.

like image 193
arshajii Avatar answered Feb 16 '26 11:02

arshajii



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!