Если во второй раз вы хотите изолировать список comarca_id, попробуйте отправить ваш запрос в потоковом режиме.
List<Comarca> comarca = debitoNegativacao.stream().map(dn -> dn.getComarca()).distinct().collect(Collectors.toList());
++
Они - то же самое и также то же как (int)(ch)
. В C++ это обычно предпочитается для использования именованного броска для разъяснения намерений:
static_cast
бросать между типами примитивов различных размеров или signednesses, например. static_cast<char>(anInteger)
.dynamic_cast
к удрученному базовый класс к производному классу (только полиморфные типы), например. dynamic_cast<Derived *>(aBasePtr)
.reinterpret_cast
бросать между указателями различных типов или между указателем и целым числом, например. reinterpret_cast<uintptr_t>(somePtr)
.const_cast
удалить const
или volatile
спецификаторы от (ОЧЕНЬ ОПАСНЫХ) переменных, например. const_cast<char *>(aConstantPointer)
.int(x)
назван функциональным стилем, брошенным стандартом, и совпадает с броском C-стиля в каждом отношении (для POD) [5.2.3]:
Если список выражений является отдельным выражением, выражение преобразования типов эквивалентно (в definedness, и, если определено в значении) к соответствующему выражению приведения типа (5.4).
Konrad Rudolph прав. Но рассмотрите это
Хотя эти два синтаксиса имеют то же значение для интервала, второго, синтаксис стиля конструктора является более общим, потому что это может использоваться с другими типами в шаблонах. Таким образом, "T (x)" может быть скомпилирован в преобразование между типами примитивов (например, если T = интервал) или в вызов конструктора (если T является типом класса). Пример на основе моего собственного опыта, где это было полезно, был, когда я переключился от использования собственных типов для промежуточных результатов вычислений к целым числам произвольной точности, которые реализованы как класс.
Стоит отметить, что оба стиля кастинга удерживаются от использования в C++, в пользу дольше, более определенные методы броска, перечисленные в ответе Adam Rosenfield.
Первым является стиль C, в то время как вторым является стиль C++.
В C++ используйте стиль C++.
Если Вы хотите быть суперпротивными, то, если Вы пишете что-то как:
#define int(x) 1
Затем (интервал) x имеет значение, что Вы ожидаете, в то время как интервал (x) будет 1 для любого значения x. Однако, если бы кто-либо когда-нибудь делал это, то необходимо, вероятно, повредить их. Я могу также вполне полагать, что где-нибудь в стандарте Вам запрещают #defining ключевые слова, хотя я не могу найти его прямо сейчас.
За исключением этого, очень глупый, особый случай, затем, как сказано прежде, [5.3.2] говорит, что они - то же для ПЕРЕХОДНЫХ ПРИСТАВОК