Вопрос

I am trying to improve the type safety of the following method:

A<String> method(B<String> arg);

How do I make sure that this method is not called with a raw type B and that compiler always checks for String type specified?

Это было полезно?

Решение

You can't prevent someone from calling a method with a raw type.

The reason is for backward compatibility with pre-generic versions of java.

Другие советы

If the compiler warnings are turned on (-Xlint:unchecked), you will get a warning if that method is called with a raw type:

warning: [unchecked] unchecked conversion A a = method(new B());

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top