Поскольку это запрещено спецификацией языка Java JLS 8.4.4 Общие методы , Переменные типа JLS 4.4 :
The [ 110] до того, как тип возвращаемого значения метода называется «Переменная типа», а для переменных типа допускается только extends
.
Потому что это не имеет смысла. Если метод работает для некоторого типа T
и всех его супертипов (включая Object
), почему он не должен работать и для всех других типов?
Если объявление будет разрешено, все ваши Метод знал бы о src
, что он содержит какой-то Object
. В частности, нельзя предположить, что src
содержит какие-либо виды Number
с. Но нужно предположить, что src
содержит Object
с побеждает цель универсальных, то есть разрешить типобезопасные операции над объектами неизвестного конкретного типа.
Я использую pdb для основной отладки Python. Некоторые ситуации, я использую его:
За 30 лет программирования я использовал отладчик точно 4 раза. Все четыре раза должны были читать core
файл произвел из программы C, отказывающей для определения местоположения traceback информации, это прокладывается под землей там.
Я не думаю, что отладчики помогают многому, даже на скомпилированных языках. Многие люди как отладчики, существуют некоторые причины использования их, я уверен, или люди не расточали бы такую любовь и уход на них.
Вот точка - программное обеспечение является получением знаний.
Да, это действительно должно работать. Что еще более важно, однако, программное обеспечение имеет значение.
Это не обвинительный акт Вашего использования отладчика. Однако я нахожу, что люди, которые полагаются на отладку, будут иногда производить действительно нечетно выглядящий код и не будут иметь хорошего выравнивания для того, что это означает. Они могут только сказать, что "это может быть взлом, но это работает".
Мое предложение на отладчиках, "не беспокоятся".
"Но, что, если я полностью озадачен?" Вы спрашиваете, "я должен изучить отладчик затем?" Полностью озадаченный, какой? Язык? Python, слишком простой для чрезвычайного оглупления. Некоторая библиотека? Возможно.
Вот то, что Вы делаете - с или без отладчика.
Обычно, когда ошибка прокладывается под землей в некоторой функции, но я не знаю точно какой или где. Любой я вставляю десятки log.debug()
вызовы и затем должны забрать их или просто вставить:
import pdb
pdb.set_trace ()
и затем запущенный программа. Отладчик запустится, когда он достигнет той точки, и дайте мне полный REPL для ввода по абсолютному адресу вокруг в.
Любое время Вы хотите осмотреть содержание переменных, которые, возможно, вызвали ошибку. Единственным путем можно сделать, который должен остановить выполнение и смотреть на стек.
pydev в Eclipse является довольно хороший IDE при поиске того.
Я нахожу очень полезным заскочить в отладчик в провальном тестовом сценарии.
Я добавляю import pdb; pdb.set_trace()
незадолго до места ошибки теста. Тестовые прогоны, создавая потенциально довольно большой контекст (например, импортируя приспособление базы данных или создавая Запрос HTTP). Когда тест достигает pdb.set_trace()
строка, это заскакивает в интерактивный отладчик, и я могу осмотреть контекст, в котором отказ происходит при обычных командах pdb, ища подсказки относительно причины.