40
A
回答
44
Iterable<String>
是IEnumerable<string>
相当于。
如果数组实现了Iterable
,这将是类型系统中的一个缺陷。 String[]
是Object[]
的一个实例,但Iterable<String>
不是Iterable<Object>
。类和接口不能乘以不同泛型参数来实现相同的泛型接口。
String[]
将在增强for循环中像Iterable
一样工作。
String[]
可以很容易地变成一个Iterable
:
Iterable<String> strs = java.util.Arrays.asList(strArray);
不想在阵列集合(对于非原语反正)。引用类型的数组有点奇怪,自Java 1.5以来很少需要。
4
Iterable <T>
8
您是否在寻找Iterable<String>
?
Iterable<T> <=> IEnumerable<T>
Iterator<T> <=> IEnumerator<T>
2
我相信Java的等价物是Iterable<String>
。虽然String[]
没有实现它,你可以遍历所有的元素反正:
String[] strings = new String[]{"this", "that"};
for (String s : strings) {
// do something
}
如果你确实需要的东西,实现了Iterable<String>
,你可以这样做:
String[] strings = new String[]{"this", "that"};
Iterable<String> stringIterable = Arrays.asList(strings);
0
Iterable<T>
是好的,但有一个小问题。在stream()
即lambda表达式中不能轻松使用它。
如果你想这样,你应该得到它的分割器,并使用类StreamSupport()
。
相关问题
- 1. 非泛型IEnumerable和泛型IEnumerable <T>有什么区别?
- 2. 什么是C#泛型中的Java通配符相当于
- 3. Java泛型和数组类型
- 4. java泛型和c + +模板
- 5. Java泛型,是<C>等于<T>?
- 6. Java相当于C#动态类类型?
- 7. Java相当于C#的类型?
- 8. Java数组中的泛型
- 9. Java和泛型?
- 10. Java泛型和“...”
- 11. 数组和字符串的java泛型
- 12. Java中的数组,列表和泛型
- 13. 关于Java泛型
- 14. C#vs Java泛型
- 15. 通配符相当于在C#泛型
- 16. Java泛型<this??>
- 17. Java泛型铸造<?>
- 18. Java泛型的<?>
- 19. Java泛型:Object类邻相较于<E>
- 20. Java相当于C#DESCrypto
- 21. 相当于Java的C#Rfc2898DerivedBytes
- 22. 相当于C++的Java ByteBuffer?
- 23. Java相当于C#system.beep?
- 24. Java相当于C#代码
- 25. C#相当于Java的Exception.printStackTrace()?
- 26. C#相当于java Matcher.hitEnd()
- 27. C++相当于Java的paintcomponent?
- 28. Java相当于C的“ispunct()”
- 29. Java相当于C++ multimap
- 30. C#相当于在Java
有关_why_的更多信息,您无法在可重用和可迭代