public staticConsumer getIndex(BiConsumer consumer) { class IndexObject { int index; } IndexObject indexObject = new IndexObject(); return i -> { consumer.accept(i, indexObject.index++); }; } public static void main(String[] args) { List strings = Arrays.asList("花果山", "水帘洞", "盘丝洞"); // 用法 strings.forEach(getIndex((item, index) -> { System.out.println(item + "下标为:" + index); })); }
输出结果:
花果山下标为:0
水帘洞下标为:1
盘丝洞下标为:2
=========================================================================
给大家推荐一个超实用的方法 -- String.join();可以使用它进行元素的拼接,如下:
public static void main(String[] args) {
// 集合的用法
List strings = Arrays.asList("花果山", "水帘洞", "盘丝洞");
String join = String.join(",", strings);
System.out.println("集合拼接结果 = " + join);
// 数组的用法
String[] s = {"花果山", "水帘洞", "盘丝洞"};
String joins = String.join(",", s);
System.out.println("数组拼接结果 = " + joins);
}
输出结果:
集合拼接结果 = 花果山,水帘洞,盘丝洞
数组拼接结果 = 花果山,水帘洞,盘丝洞



