- 1
- 2
- 3
- 4
- 5
public List<ImportException> importFiles() {
Collection<ImportException> exceptions = new ArrayList<ImportException>();
/* весь метод exceptions ссылается на этот список */
return (List<ImportException>) exceptions;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+69
public List<ImportException> importFiles() {
Collection<ImportException> exceptions = new ArrayList<ImportException>();
/* весь метод exceptions ссылается на этот список */
return (List<ImportException>) exceptions;
}
Полиморфизм ёпт
Horse3 04.02.2014 13:18 # −5
evg_ever 04.02.2014 13:19 # +1
evg_ever 04.02.2014 13:20 # −2
EfremoffPaul 04.02.2014 18:39 # 0
bormand 04.02.2014 19:05 # 0
1) Жабьи generics не шаблоны (в исконном крестосмысле), а всего лишь проверки на уровне компилятора :)
2) Смотря как. List<ImportException> в Collection<ImportException> кастанется молча. Collection<ImportException> в List<ImportException> - только ручным кастом, ну и может выбросить исключение, если там был не потомок List'а. А вот List<Derived> и List<Base> - не кастуются ни туды ни сюды, т.к. можно прострелить себе ногу.
roman-kashitsyn 04.02.2014 19:26 # +2
bormand 04.02.2014 19:29 # +5
roman-kashitsyn 04.02.2014 19:30 # +2
roman-kashitsyn 04.02.2014 19:33 # +5
Yo dawg! I herd you like checked exceptions so we put checked exceptions into your checked exception so you can handle errors while you handling errors.
3.14159265 04.02.2014 20:59 # +1
Более того try-finally превращает её в дерево, ибо исключение в try может быть подавлено исключением в finally.
guest 07.02.2014 20:38 # +1
Stertor 07.02.2014 20:40 # +2
bormand 07.02.2014 20:57 # +3
Stertor 07.02.2014 21:01 # +1
laMer007 07.02.2014 21:13 # +3
bormand 07.02.2014 21:29 # +2
What has been seen cannot be unseen.
inkanus-gray 07.02.2014 21:45 # +1
На тот сайт за чем-нибудь, кроме гоатсе, вообще заходят?