Проблемы Java, связанные с параметризованным классом

avatar
BATMAN_2008
9 августа 2021 в 06:16
88
0
0

У меня есть приложение Java Spring Boot, которое выполняет внутренний вызов другого приложения Java, минуя некоторую информацию. Реализация вызываемого приложения находится вне моего контроля, и я не имею права вносить в него какие-либо изменения.

Когда я звоню, я получаю несколько предупреждений в своей Intellij IDEA. Я хотел знать, можно ли внести некоторые изменения в мое приложение Spring Boot, чтобы избежать этих предупреждений?

Ниже приведен вызов, который я делаю в своем приложении Spring Boot:

final var jsonOutput = new ByteArrayOutputStream();
new Converter().convert(inputStream, new Handler(new Validator(), new StreamCollector(jsonOutput)));
return new String(jsonOutput.toByteArray());

Ниже приведены предупреждения, которые я получаю в разделе «Проблемы Intellij IDEA». Оба эти предупреждения появляются из-за new Handler

  1. Укажите параметризованный тип для этого шаблона.
  2. Необработанное использование параметризованного класса "Handler"

Поскольку вызываемая реализация new Handler не находится под моим контролем, я не смогу внести в нее какие-либо изменения. Можно ли что-нибудь сделать в моем приложении Spring Boot для устранения этих предупреждений? Кроме того, почему он выдает эти предупреждения из-за неправильного способа кодирования?

Источник
Sagii
9 августа 2021 в 06:22
2

Не уверен, но у Handler может быть какой-то общий тип в его реализации.. используйте новый Handler<String> и снова проверьте

BATMAN_2008
9 августа 2021 в 07:32
0

Спасибо за ваш ответ. Строка не работала и выдавала ошибку, поэтому я сделал следующее, и, похоже, все работает нормально, и предупреждение больше не отображается: new Handler<>(new EventValidator(),

samabcde
9 августа 2021 в 08:14
0

Предоставьте подпись классов Converter, Handler, Validator и StreamCollector.

BATMAN_2008
9 августа 2021 в 08:22
0

@samabcde Я изменил код new Handler<>(new EventValidator(),, и теперь он работает нормально.

Sagii
9 августа 2021 в 08:45
0

@BATMAN_2008 хорошо, что он работает .. но вы можете найти постоянное решение

Ответы (0)