Java数组和generics:Java相当于C#IEnumerable <T>
所以在C#中,我可以将一个string[]作为IEnumerable<string> 。 
有没有Java的等价物?
  Iterable<String>等价于IEnumerable<string> 。 
 如果数组实现了Iterable那么这将是types系统中的一个缺陷。  String[]是Object[]一个实例,但Iterable<String>不是Iterable<Object> 。 类和接口不能用不同的generics参数来实现相同的generics接口。 
  String[]将像增强for循环中的Iterable一样工作。 
  String[]可以很容易地变成一个Iterable : 
 Iterable<String> strs = java.util.Arrays.asList(strArray); 
喜欢数组上的集合(反正对于非基元)。 引用types的数组有点奇怪,从Java 1.5开始很less需要。
 你在寻找Iterable<String>吗? 
 Iterable<T> <=> IEnumerable<T> Iterator<T> <=> IEnumerator<T> 
 Iterable <T> 
 我相信Java的等价物是Iterable<String> 。 尽pipeString[]没有实现它,但是您仍然可以遍历元素: 
 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); 
  Iterable<T>可以,但有一个小问题。 它不能在stream()即lambdaexpression式中使用。 
 如果你想这样做,你应该得到它的分割器,并使用类StreamSupport() 。