Может быть, я что-то упускаю, но я подумал, что если я объявлю свой класс таким:
public class Something<T> implements Iterable<Iterable<T>> {
public Something(Iterable<Iterable<T>> input) {
...
Я должен быть в состоянии создать его таким образом:
ArrayList<ArrayList<String>> l = new ArrayList<ArrayList<String>>();
Something<String> s = Something<String>(l);
К сожалению, этодает мне ошибку.Я думал, что ArrayLists являются Iterable, поэтому они должны отображаться точно в моем определении конструктора.