Это предупреждение там, потому что Java на самом деле не хранит информацию типа во времени выполнения в объекте, который использует дженерики. Таким образом, если object
будет на самом деле List<String>
, не будет никакого ClassCastException
во времени выполнения кроме того, пока к объекту не получат доступ из списка, который не соответствует универсальному типу, определенному в переменной.
Это может вызвать дальнейшие сложности, если объекты добавляются к списку с этой неправильной универсальной информацией о типе. Любой код, все еще содержащий ссылку на список, но с корректной универсальной информацией о типе, будет теперь иметь непоследовательный список.
Для удаления предупреждения попробуйте:
List<?> list = (List<?>) object;
Однако примечание, что Вы не будете в состоянии использовать определенные методы те, которые добавляют, потому что компилятор не знает, пытаетесь ли Вы добавить объект неправильного типа. Вышеупомянутое будет работать в большом количестве ситуаций, но если необходимо использовать, добавляют, или некоторый столь же ограниченный метод, необходимо будет просто перенести желтое подчеркивание в Eclipse (или SuppressWarning
аннотация).
Проблема в том, что NUnit ищет файлы конфигурации в корневом каталоге (расположение файлов конфигурации во время разработки). Однако .net перемещает и переименовывает файлы в папку bin. Вы можете изменить настройки nunit, чтобы они смотрели в корзину при выполнении тестов.