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_的更多信息,您無法在可重用和可迭代