Я только начал изучать Scala с небольшим опытом работы на Java. Интересно, каким будет тип данных Scala для Java один из Collection <?> args
?Collection <?> в Scala
ответ
Прежде всего, коллекции Scala образуют отдельную библиотеку из Java коллекций. Конечно, вы можете использовать коллекции Java из Scala, но это обычно делается в коде, который взаимодействует с некоторыми Java API, а чистый Scala-код обычно использует коллекции Scala.
Что касается вашего вопроса, подстановочные знаки обозначаются символом подчеркивания в Scala, поэтому да, класс Java java.util.Collection<?>
будет выглядеть как java.util.Collection[_]
в Scala.
Кстати, если вы хотите границы типа, то есть, что-то вроде Collection<? extends SomeClass>
, то они достигаются с помощью следующего синтаксиса:
Collection<? extends SomeClass> -> Collection[_ <: SomeClass]
Comparator<? super SomeClass> -> Comparator[_ >: SomeClass]
Однако, как я сказал, что лучше не использовать Java-коллекции в чистом Scala потому что они гораздо менее удобны, чем их коллеги из Scala. Коллекции Scala имеют более сложную иерархию, но нет прямого эквивалента Java Collection
. Вы можете прочитать this отличный учебник по коллекциям Scala, особенно this, который показывает иерархию коллекций Scala.
Collection <?> args
Это написано Коллекция (произносится как «коллекция неизвестно»), то есть, коллекция которого тип элемента соответствует любому. Это называется подстановочным типом по понятным причинам.
- 1. Idiomatic Scala: семантическая разница между <Collection> Like и <Collection> Типы?
- 2. Collection <String>
- 3. Что такое Collection <?>
- 4. Действительно ли <Collection>.
- 5. create Collection <T>
- 6. DataTemplate.DataType = Collection <Entity>?
- 7. Коллекция <? extends T> vs Collection <T>
- 8. Как итерацию через Collection <Set <IConnection>>
- 9. Guava: Как мне конвертировать Collection <T> в коллекцию <Optional<T>>?
- 10. WeightedLatLng и Collection <WeightedLatLng>
- 11. Collection <PSObject> to CSV output
- 12. unchecked warning on Class <Collection>
- 13. ArrayList (Collection <? extends E> с)
- 14. Collection <Double> to DoubleStream
- 15. Как использовать Stream <E> вместо Collection <E> или List <E>?
- 16. Неизменного Scala Collection
- 17. Scala Collection Конкретная реализация
- 18. Scala non-generic collection
- 19. Конструктивное решение boolean containsAll (Collection <?> c) vs boolean addAll (Collection <? extends E> c); в рамках сбора
- 20. <Функциональная Programing в Scala> simulateMachine
- 21. Преобразование коллекции Java <E> в коллекцию Scala?
- 22. Выберите метод в списке <t> Collection
- 23. Композитные клавиши в MyBatis <collection> сопоставления
- 24. Заказ элементов в списке <T> Collection
- 25. Функциональное применение Collection <BiConsumer <A,B>> в Java 8
- 26. Error-Collection <Object> не может быть преобразован в Список <Class>
- 27. В чем разница между Collection <?> и коллекциями <T>
- 28. В Java 8, как получить Stream <T> от Stream <? extends Collection <T>>?
- 29. Scala эквивалент новой HashSet (Collection)
- 30. scala lazy parallel collection (возможно?)
и? ........... –
Я задал вопрос: «Интересно, каков будет тип данных Scala для Java один из Collection > args?» –
спасибо. так что это должно быть 'Collection [?]'? –