- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
public static List<Period> getPeriods(final int id, final Date startDate, final Date endDate) throws SomeException {
final List<?>[] result = new List<?>[1];
doInTransaction(new Script() {
@Override
public void execute() throws AnotherException {
// Some business logic
//...
result[0] = allPeriods;
}
});
return (List<Period>) result[0];
}
BagorCtretora 29.09.2016 02:32 # −64
Не скомпилица
Destiner 29.09.2016 03:14 # 0
Не стоит недооценивать умение некоторых программистов использовать костыли.
barop 29.09.2016 06:59 # −63
а у тебя в ideone List[]
ты его за дурака держишь???
Destiner 29.09.2016 13:29 # 0
barop 29.09.2016 16:14 # −63
new List<?>[0] можно
new List<String>[0] нельзя
3_dar 29.09.2016 17:42 # 0
guestinho 29.09.2016 18:03 # 0
dnalchemist 14.12.2016 15:28 # 0
В байткоде нет никакой разницы между final и effectively final.
В анонимных классах и лямбдах должны использоваться final/effectively final переменные, так как в джаве замыкания отсутствуют.
Destiner 30.09.2016 16:05 # 0
dnalchemist 14.12.2016 15:30 # −1
roman-kashitsyn 30.09.2016 16:35 # 0
У doInTransaction нет варианта, который возвращает значение? Типа
T doInTransaction(Callable<T>)
guest 04.10.2016 22:28 # 0
proweber1 02.11.2016 23:01 # 0
Почему нельзя было просто вернуть объект Period? либо Optional<Period>
bormand 02.11.2016 23:11 # −1
barop 03.11.2016 00:51 # −62