java - ejemplo - ¿Cómo obtengo un IntStream de una lista<Integer>?
map vs foreach java 8 (1)
Supongo (o al menos es una alternativa) de esta manera es más eficaz:
public static IntStream baz(List<Integer> list)
{
return list.stream().mapToInt(Integer::intValue);
}
ya que la función Integer::intValue
es totalmente compatible con ToIntFunction
ya que toma un Integer
y devuelve un int
. No se realiza autoboxing .
También estaba buscando un equivalente de Function::identity
, esperaba escribir un equivalente de su método de bar
:
public static IntStream qux(List<Integer> list)
{
return list.stream().mapToInt(IntFunction::identity);
}
Pero no proporcionaron este método de identity
. No se por que
Puedo pensar en dos maneras:
public static IntStream foo(List<Integer> list)
{
return list.stream().mapToInt(Integer::valueOf);
}
public static IntStream bar(List<Integer> list)
{
return list.stream().mapToInt(x -> x);
}
¿Cuál es la forma idiomática? Tal vez ya existe una función de biblioteca que hace exactamente lo que quiero?