In java generics context, a raw type is a non-parameterized invocation of a generic type. They also say that any non-generic type is not a raw type.
My confusion is, why they say that non-generic type is not a raw type? How is it different from a non-parameterized invocation of a generic type. Consider the following 2 cases.
Case 1:
class A<T>{
}
A a = new A(); //Raw type
Case 2:
class A{
}
A a = new A();//Non-generic type
If variable "a" behaves identically in both cases, why do they say case[1] is raw type while case[2] is not?