В настоящее время я участвую в старшей школе в AP Java, и она задала мне вопрос о "двойном кастинге". Раньше я никогда не слышал об этом термине, но, видимо, ее учитель ожидает, что она узнает об этом для своего предстоящего финала.
Пример, предложенный ее преподавателем, состоял в том, что если вы хотите, чтобы Integer ввел строку, вам нужно будет сделать следующее, чтобы не получить ошибку компилятора:
Integer i = new Integer(5);
String s = (String)(Object) i;
Вопрос: когда вы хотите сделать это в реальной жизни?
Учитель представил только примеры, которые приводят к ошибке времени выполнения. Кроме того, я никогда не знал, что для этого существует термин, но это просто плохая идея, потому что есть только ошибка, когда эти два типа несовместимы.
Спасибо!