Почему не применяется вывод типа?JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Почему не применяется вывод типа?

Сообщение Гость »


В этом случае вывод типа работает должным образом, а T параметр типа обрабатывает как Integer, так и Integer. Строка:

публичный класс A { public static void func(T obj1, T obj2) {} public static void main(String[] args) { A.func(1, «Один»); } } Однако в следующем примере это не применимо, поскольку возникает ошибка компиляции:

класс Test { частный объект Т; общественный тест (объект T) { этот.объект = объект; } } общественный класс А { public static void func(Test one, Test two) {} public static void main(String[] args) { Тест один = новый Тест(1); Test two = новый Test("Two"); A.func(один, два); //ошибка компиляции //A.func(один, два); } } Несмотря на то, что (например) Test может обрабатывать как Test, так и Test< /code>, параметр типа T не выводится. Почему это происходит?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»